TWI737088B - 主機型快閃記憶體維護技術 - Google Patents
主機型快閃記憶體維護技術 Download PDFInfo
- Publication number
- TWI737088B TWI737088B TW108146582A TW108146582A TWI737088B TW I737088 B TWI737088 B TW I737088B TW 108146582 A TW108146582 A TW 108146582A TW 108146582 A TW108146582 A TW 108146582A TW I737088 B TWI737088 B TW I737088B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- host
- command
- physical address
- memory device
- 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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/10—Address translation
-
- 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/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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
-
- 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
- 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/7205—Cleaning, compaction, garbage collection, erase control
-
- 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/7209—Validity control, e.g. using flags, time stamps or sequence numbers
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
本文揭示用於允許一快閃記憶體裝置之主機型維護的裝置及技術。在某些實例中,可在記憶體裝置處對記憶體寫入資訊加密且將其提供給主機用於更新及維護記憶體裝置維護統計。
Description
本發明論述記憶體,且更特定言之,本發明論述主機型快閃記憶體維護技術。
記憶體裝置通常提供為電腦或其他電子裝置中之內部半導體積體電路。存在包含揮發性及非揮發性記憶體之諸多不同類型之記憶體。揮發性記憶體需要電力來保存資料且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)及同步動態隨機存取記憶體(SDRAM)等等。非揮發性記憶體可在被斷電時藉由保存所儲存之資料來提供持久資料且可包含NAND (「反及」)快閃記憶體、NOR (「反或」)快閃記憶體、唯讀記憶體(ROM)、電可擦除可程式化ROM (EEPROM)、可擦除可程式化ROM (EPROM)及電阻可變記憶體(諸如相變隨機存取記憶體(PCRAM)、電阻隨機存取記憶體(RRAM)及磁阻隨機存取記憶體(MRAM))、3D XPointTM
記憶體等等。
記憶體胞元通常配置成一矩陣或一陣列。多個矩陣或陣列可組合成一記憶體裝置,且多個裝置可經組合以形成一記憶體系統之一儲存容量,諸如一固態硬碟(SSD)、一通用快閃儲存(UFSTM
)裝置、一多媒體卡(MMC)固態儲存裝置、一嵌入式MMC裝置(eMMCTM
)等等。
一記憶體系統可包含一或多個處理器或執行邏輯功能以操作記憶體裝置或與外部系統介接之其他記憶體控制器。記憶體矩陣或陣列可包含組織成數個實體頁之數個記憶體胞元區塊。記憶體系統可結合記憶體操作(諸如在記憶體裝置與主機之間傳送資料(例如使用者資料及相關聯完整資料,諸如錯誤資料及位址資料等等)之讀取或寫入操作、自記憶體裝置擦除資料之擦除操作或執行一或多個其他記憶體操作)來自一主機接收命令。
記憶體用作各種電子應用之揮發性及非揮發性資料儲存器,電子應用包含(例如)個人電腦、可攜式記憶體棒、數位相機、蜂巢式電話、可攜式音樂播放器(諸如MP3播放器)、電影播放器及其他電子裝置。記憶體胞元可配置成陣列,其中陣列用於記憶體裝置中。
諸多電子裝置包含若干主組件:一主機處理器(例如一中央處理單元(CPU)或其他主處理器);主記憶體(例如一或多個揮發性或非揮發性記憶體裝置,諸如動態RAM (DRAM)、行動或低功耗雙倍資料速率同步DRAM (DDR SDRAM)等等);及一儲存裝置(例如非揮發性記憶體(NVM)裝置,諸如快閃記憶體、唯讀記憶體(ROM)、一SSD、一MMC或其他記憶體卡結構或總成或揮發性及非揮發性記憶體之組合等等)。在某些實例中,電子裝置可包含一使用者介面(例如一顯示器、觸控螢幕、鍵盤、一或多個按鈕等等)、一圖形處理單元(GPU)、一功率管理電路、一基頻處理器或一或多個收發器電路等等。
本文揭示用於允許一快閃記憶體裝置之主機型維護的裝置及技術。在某些實例中,可在記憶體裝置處對記憶體寫入資訊加密且將其提供給主機用於更新及維護記憶體裝置維護統計。
本章節意欲提供本專利申請案之標的之一概述。其不意欲提供本發明之一排他性或詳盡解釋。包含[實施方式]來提供關於本專利申請案之進一步資訊。
快閃記憶體型儲存裝置(諸如NAND記憶體)可使用一快閃轉譯層(FTL)來將I/O請求之邏輯位址(通常指稱邏輯區塊位址(LBA))轉譯成儲存於一或多個FTL映射表中之對應快閃記憶體位址。LBA可為由一主機用於管理資料之邏輯位址。行動儲存裝置通常具有大小受限之一快取區,且因此通常缺少記憶體來儲存整個映射表。因此,可按需自快閃記憶體擷取(若干)映射表之部分,其可引起隨機讀取效能降級。
為提高隨機讀取效能,本文中所描述之技術能夠使用主機駐留記憶體及耦合至主機之一記憶體裝置之記憶體胞元作為一FTL映射表之一快取區。在一主機駐留FTL下,可比自快閃記憶體讀取FTL資料更快地自主機記憶體讀取FTL資料,且主機可藉由擷取快閃記憶體之一實體位址(PA)且使PA包含於對快閃記憶體之一記憶體請求中來啟始一記憶體操作。可由主機使用主機之FTL記憶體快取區及主機之LBA來擷取PA。在接收記憶體請求之後,一快閃記憶體系統(諸如主機外部之一快閃記憶體裝置或系統)可即時擷取與實體位址相關聯之資料,無與存取基於快閃記憶體之映射表及使用LBA獲得實體位址相關聯的延遲。
在一主機駐留FTL之某些實施方案中,可顯著提高隨機讀取工作量效能。然而,本發明者已識別用於主機駐留FTL之技術,其可有助於驗證主機記憶體請求之完整性,可有助於維持主機FTL表與實際快閃映射表之間的一致性,且可有助於在主機觸發之記憶體操作空閒或接近空閒時提供主機FTL表之即時更新。主機駐留FTL之簡單實施方案可假定映射表在主機啟始之操作之間保持準確。然而,連接至主機之記憶體系統或記憶體裝置通常在主機啟始之操作之間或在主機空閒期間執行內務操作或程序,諸如廢棄項目收集程序及損耗均衡程序。內務操作移動資料且通常修正及更新駐留於記憶體裝置處之映射表。由於無一些有效性檢查,所以主機駐留FTL之簡單實施方案(諸如盲目使用主機提供之PA來存取快閃資料的一記憶體系統)常會導致記憶體系統在錯誤PA處存取快閃記憶體。
另外,本發明者亦已認識到,將一快閃記憶體裝置或快閃記憶體系統之記憶體維護卸下給主機可允許包含更簡單韌體、更簡單硬體、更簡單驗證或其等之組合的更簡單快閃記憶體裝置,且因此比習知快閃記憶體裝置(諸如習知管理型NAND快閃記憶體裝置)降低成本及加快上市時間。
圖1繪示一環境100之一實例,環境100包含經組態以通過一通信介面通信之一主機105及一記憶體裝置110。主機105或記憶體裝置110可包含於各種產品150 (諸如IoT裝置(例如一冰箱或其他電器、感測器、馬達或致動器、行動通信裝置、汽車、行動電話、無人機等等))中以支援產品150之處理、通信或控制。
記憶體裝置110包含一記憶體控制器115及一記憶體陣列120,記憶體陣列120包含(例如)一或多個個別記憶體晶粒(例如三維(3D) NAND晶粒之一堆疊)。在3D架構半導體記憶體技術中,垂直結構堆疊成多階層,且經耦合以形成實體頁以提高一給定佔據面積(即,外型尺寸)中一記憶體裝置(例如一儲存裝置)之儲存密度。在一實例中,記憶體裝置110可為一離散記憶體裝置。在某些實例中,記憶體陣列120之一或多個記憶體晶粒可包含一第一完整FTL表161用於使主機之邏輯區塊位址與快閃記憶體之實體位址映射。
一或多個通信介面111可用於在記憶體裝置110與主機105之一或多個其他組件之間傳送資料,諸如一串列先進技術附件(SATA)介面、一周邊組件互連快速(PCIe)介面、一通用串列匯流排(USB)介面、一UFS介面、一eMMCTM
介面或一或多個其他連接器或介面。主機105可包含一主機系統、一電子裝置、一處理器、一記憶體卡讀取器或記憶體裝置110外部之一或多個其他電子裝置。在一些實例中,主機105可為具有參考圖7之機器700所論述之組件之某些部分或全部的一機器。資料可通過一輸入/輸出(I/O)匯流排傳送於記憶體裝置110與其他組件之間,I/O匯流排可包含一或多個鎖存器用於在傳送資料時(例如,在自一記憶體陣列讀取或寫入至一記憶體陣列之前)臨時儲存資料。
記憶體控制器115可自主機105接收指令,且可與記憶體陣列通信以(諸如)使資料傳送至(例如寫入或擦除)或傳送自(例如讀取)記憶體陣列之記憶體胞元、平面、子區塊、區塊或頁之一或多者。記憶體控制器115可尤其包含電路系統或韌體,其包含一或多個組件或積體電路。例如,記憶體控制器115可包含一或多個記憶體控制單元、電路、控制電路系統或組件,其經組態以控制跨記憶體陣列120之存取及提供主機105與記憶體裝置110之間的一轉譯層。記憶體控制器115可包含一或多個I/O電路(及對應鎖存器)、快取區、線或介面以向或自記憶體陣列120傳送資料。記憶體控制器115可包含一記憶體管理器125及一陣列控制器135。
陣列控制器135可尤其包含電路系統或組件,其經組態以控制與將資料寫入至、使資料讀取自或擦除耦合至記憶體控制器115之記憶體裝置110之一或多個記憶體胞元相關聯的記憶體操作。記憶體操作可基於(例如)自主機105接收或由記憶體管理器125內部產生之主機命令(例如,結合損耗均衡、錯誤偵測或校正等等)。
陣列控制器135可包含一錯誤校正碼(ECC)組件140,其可尤其包含一ECC引擎或其他電路系統,ECC引擎或其他電路系統經組態以偵測或校正與將資料寫入至或使資料讀取自耦合至記憶體控制器115之記憶體裝置110之一或多個記憶體胞元相關聯的錯誤。例如,ECC組件140可偵測或運算與執行諸多記憶體操作相關聯之一位元錯誤率(BER)。BER可對應於發生於一I/O匯流排之鎖存器中之位元錯誤、記憶體控制器115之內部錯誤、發生於NAND陣列之一或多者中之錯誤或記憶體裝置110之多位階胞元(MLC)之任何一或多者。記憶體控制器115可經組態以主動偵測與資料之各種操作或儲存相關聯之錯誤發生(例如位元錯誤、操作錯誤、崩潰條件、停頓、掛斷等等)且自其恢復,同時維持在主機105與記憶體裝置110之間傳送之資料之完整性或維持所儲存資料之完整性(例如,使用冗餘RAID儲存等等),且可移除(例如,退出)失效記憶體資源(例如記憶體胞元、記憶體陣列、頁、區塊等等)以防止未來錯誤。陣列控制器135可將偵測到之BER資訊傳輸至記憶體管理器125用於儲存及追蹤。記憶體控制器115可包含追蹤自一主機接收之記憶體命令的一命令佇列(未展示)。佇列中之命令可由記憶體控制器115依一先進先出(FIFO)方式、堆疊方式、無序、根據優先級或依任何其他適合順序執行。
所描述之記憶體裝置110包含與記憶體陣列120相關聯之密碼編譯電路系統160。在某些實例中,密碼編譯電路系統160可包含一加密電路、一解密電路或其等之一組合。在一些實施方案中,記憶體裝置110之記憶體控制器115可包含經組態以實施密碼編譯電路160之功能的控制電路系統。在其他實施方案中,密碼編譯電路160可包含用於實施所描述之功能的一獨立控制電路系統。在其他實施方案中,控制電路系統可分享於密碼編譯電路160與記憶體控制器115之間以實施密碼編譯電路160之所描述功能。在所描繪之實例中,陣列控制器135形成記憶體控制器115之一部分,且密碼編譯電路160形成陣列控制器之一部分。在其他實施方案中,密碼編譯電路160可在陣列控制器135外部及/或外側。例如,密碼編譯電路160 (或其任何個別組件)可為耦合至環境100中之一或多個組件的一獨立組件。無論實體如何定位,提供密碼編譯電路160之額外功能之結構用於確認由主機105提供之實體位址以防止對記憶體裝置之錯誤或惡意存取且向主機提供再新主機駐留映射表資訊的機會以在環境100之主機駐留FTL操作期間使映射資訊與記憶體裝置之映射資訊對準。
記憶體管理器125可尤其包含電路系統或韌體,諸如與各種記憶體管理功能相關聯之諸多組件或積體電路。為了本發明,將在NAND記憶體之背景中描述實例記憶體操作及管理功能。熟習技術者將認識到,其他形式之非揮發性記憶體可具有類比記憶體操作或管理功能。此等NAND管理功能包含損耗均衡(例如廢棄項目收集或回收)、錯誤偵測(例如BER監測)或校正、區塊退出或一或多個其他記憶體管理功能。記憶體管理器125可將主機命令(例如自一主機接收之命令)剖析或格式化成裝置命令(例如與一記憶體陣列之操作相關聯之命令等等)或產生裝置命令(例如以完成各種記憶體管理功能)用於陣列控制器135或記憶體裝置110之一或多個其他組件。
記憶體陣列120可包含配置成(例如)數個裝置、平面、子區塊、區塊或頁之多個記憶體胞元。作為一實例,一48 GB TLC NAND記憶體裝置可包含每頁18,592個位元組資料(16,384+2208個位元組)、每區塊1536頁、每平面548個區塊及每裝置4個或更多個平面。作為另一實例,一32 GB MLC記憶體裝置(每胞元儲存兩個位元資料(即,4個可程式化狀態))可包含每頁18,592個位元組(B)資料(16,384+2208個位元組)、每區塊1024頁、每平面548個區塊及每裝置4個平面,但僅需一對應TLC記憶體裝置一半之寫入時間及兩倍於對應TLC記憶體裝置之程式化/擦除(P/E)循環。其他實例可包含其他數目或配置。在一些實例中,可以SLC模式或一期望MLC模式(諸如TLC、QLC等等)選擇性操作一記憶體裝置或其之一部分。
在操作中,通常使資料以頁寫入至或讀取自記憶體裝置110及以區塊擦除。然而,可根據需要對更大或更小記憶體胞元群組執行一或多個記憶體操作(例如讀取、寫入、擦除等等)。一記憶體裝置110之資料傳送大小通常指稱一頁,而一主機之資料傳送大小通常指稱一扇區。
不同類型之記憶體胞元或記憶體陣列120可提供不同頁大小或可需要與之相關聯之不同元資料量。例如,不同記憶體裝置類型可具有不同位元錯誤率,其可導致確保資料頁之完整性所需之不同元資料量(例如,具有一較高位元錯誤率之一記憶體裝置可比具有一較低位元錯誤率之一記憶體裝置需要更多位元組之錯誤校正碼資料)。作為一實例,一MLC NAND快閃裝置可具有比一對應單位階胞元(SLC) NAND快閃裝置更高之一位元錯誤率。因而,MLC裝置可需要比對應SLC裝置更多之元資料位元組用於錯誤資料。
在某些實例中,主機可包含第二記憶體131。第二記憶體131並非為一快閃型記憶體裝置。在某些實例中,第二記憶體131可用於儲存及維護一組管理表130。管理表可包含與記憶體裝置110之一或多個組件相關聯之各種資訊(例如與耦合至記憶體控制器115之一記憶體陣列或一或多個記憶體胞元相關聯之各種資訊且可包含一FTL表)。例如,管理表130可包含關於FTL映射資訊、區塊壽命、區塊擦除計數、錯誤歷史、錯誤參數資訊、主機重設超時值、記憶體操作命令延時或一或多個錯誤計數(例如一寫入操作錯誤計數、一讀取位元錯誤計數、一讀取操作錯誤計數、一擦除錯誤計數等等)之資訊用於耦合至記憶體控制器115之記憶體胞元之一或多個區塊。在某些實例中,若針對錯誤計數之一或多者(例如一錯誤參數)所偵測之錯誤數目高於一臨限值(例如一可允許錯誤臨限值),則位元錯誤可指稱一不可校正位元錯誤。管理表130可尤其維護可校正或不可校正位元錯誤之一計數。
在某些實例中,第二記憶體可包含一第二完整FTL表162用於使主機之邏輯區塊位址與快閃記憶體之實體位址映射。在一些實例中,環境100可僅包含第一完整FTL表161或第二完整FTL表162之一者。
圖2大體上繪示使用主機駐留FTL之態樣來實施一快閃記憶體系統處之記憶體操作之一實例方法200之一流程圖。在某些實例中,方法可有助於驗證自主機接收之實體位址對應於由主機提供之LBA。若無某種形式之確認,則一惡意主機可提供一LBA及一不相關實體位址,其可導致存取不意欲由主機存取或不意欲由主機使用記憶體系統處所接收之特定主機記憶體請求來存取之快閃記憶體資料。在201中,記憶體系統可在一主機駐留FTL操作模式期間接收包含一LBA及一實體位址之一表示之一主機記憶體請求。LBA表示主機之記憶體系統內之一記憶體位置。實體位址表示快閃記憶體系統之快閃記憶體內之一記憶體位置。在主機駐留FTL操作模式外,快閃記憶體系統之記憶體控制器可使用記憶體控制器之一快取區內之映射資訊或使用儲存於快閃記憶體系統之快閃記憶體上之一全映射表來定位映射至所接收之LBA之實體位址。在一主機駐留FTL操作模式期間,主機可提供與LBA相關聯之映射實體位址或其之一表示。在某些情形中,提供映射實體位址可降低記憶體控制器自快閃記憶體系統之快閃記憶體擷取記憶體資訊的頻率。存取快閃記憶體以擷取記憶體映射資訊可顯著降低主機之記憶體操作之效能,因此,降低記憶體控制器擷取記憶體映射資訊之頻率可顯著提高主機之記憶體請求之效能。
為防止對記憶體系統之快閃記憶體之受限區域之非有意或惡意存取,在203中,可使用快閃記憶體系統之一密鑰來解密實體位址之表示。在某些實例中,快閃記憶體系統可包含一密碼編譯電路。在某些實例中,密碼編譯電路可為記憶體控制器之部分。可以硬體、韌體、軟體或其等之一組合實施密碼編譯電路。
在205中,可將經解密實體位址確認為記憶體請求之快閃記憶體系統之一有效實體位址。在某些實例中,確認可包含將LBA定位於記憶體控制器之一快取區中且比較經解密實體位址與映射至LBA之實體位址。無論LBA是否位於記憶體控制器之快取區內,記憶體控制器可比較經解密實體位址與包含不受記憶體請求限制之位址區域之一表且確認經解密實體位址落於位址區域之一者內。
在207中,當記憶體控制器已確認經解密實體位址係記憶體請求之一有效實體位址時,記憶體控制器可使用經解密實體位址來執行記憶體請求。當記憶體控制器無法確認經解密實體位址係記憶體請求之一有效實體位址時,記憶體控制器不使用經解密實體位址來執行記憶體請求。
在209中,當記憶體控制器無法確認經解密實體位址係記憶體請求之一有效實體位址時,記憶體控制器不使用經解密實體位址來執行記憶體請求。在211中,記憶體控制器可視情況向主機回傳一錯誤指示。在213中,當記憶體控制器無法確認經解密實體位址係記憶體請求之一有效實體位址時,記憶體控制器可視情況使用儲存及維持於快閃記憶體系統之快取區或快閃記憶體中之映射資訊來擷取與LBA相關聯之一校正實體位址且接著在213中使用校正實體位址來執行記憶體請求。在某些實例中,可將LBA確認為記憶體系統處之一有效LBA。此確認可包含比較所接收之LBA與一有效LBA表之項目。若所接收之LBA與有效LBA表之一項目不匹配,則記憶體控制器可忽略記憶體請求、回傳一錯誤指示或其等之組合。
在某些實例中,由記憶體裝置提供在一主機駐留FTL操作模式期間提供給主機使用之映射資訊。在將映射資訊提供給主機之前,快閃記憶體系統之記憶體控制器可對實體位址加密且提供各實體位址之一加密表示而非實際實體位址。圖3大體上繪示用於自一快閃記憶體系統向主機提供映射資訊之一實例方法300之一流程圖。當自主機接收記憶體請求時,記憶體控制器可產生映射資訊。映射資訊可能非常大,使得其與所儲存之資料一起儲存於快閃記憶體上。在某些實例中,映射資訊可儲存於一表中,其中表中之記錄包含與主機之一記憶體位置相關聯之一LBA及與映射至LBA之快閃記憶體系統之一記憶體位置相關聯之一實體位址。在301中,記憶體控制器或記憶體控制器之一密碼編譯電路可接收一映射表記錄。映射表記錄可包含一LBA及映射至LBA之快閃記憶體系統之一實體位址。在某些實例中,當主機向快閃記憶體系統發出記憶體請求時,記憶體控制器使主機之各LBA與快閃記憶體系統之一對應實體位址映射。
在301中,密碼編譯電路可接收映射資訊,諸如一映射表(其包含一主機之一LBA及映射至LBA之快閃記憶體系統之一實體位址)之一映射記錄。密碼編譯電路可為快閃記憶體系統之部分。在一些實例中,密碼編譯電路可為快閃記憶體系統之一記憶體控制器之部分。在303中,密碼編譯電路可使用一憑證來將一加密演算法應用於實體位址。在某些實例中,憑證可經硬編碼於快閃記憶體系統之非揮發性記憶體中。加密演算法之應用產生實體位址之一加密型式。在305中,可使用實體位址之加密型式來替換映射記錄之實體位址。在某些實例中,加密實體位址可包含一密鑰。在某些實例中,主機可使用密鑰來維護關於快閃記憶體系統之統計。此記憶體統計可包含(但不限於)程式化計數、擦除計數、程式化/擦除循環計數、循環計數、無效頁計數、預期損耗值或其等之組合。在307中,可將映射資訊傳送至主機用於在一環境(例如100)之一主機駐留FTL操作模式期間使用。映射資訊可包含映射記錄,映射記錄包含一LBA及對應於LBA之實體位址之一對應加密型式。
圖4大體上繪示用於在主機處維護記憶體系統之快閃記憶體維護資訊之一實例方法400之一流程圖。在401中,記憶體系統可視情況向主機提供映射資訊。映射資訊可回應於記憶體系統處所接收之各種記憶體請求來提供且可允許主機具有包含快閃記憶體之記憶體系統之一完整映射。在403中,記憶體系統可自主機接收一寫入命令。寫入命令可包含一邏輯區塊位址。在其中主機以一FTL操作模式操作之實例中,寫入命令可包含其中將儲存與寫入命令相關聯之寫入資料之快閃記憶體之一實體位址或實體區塊之一表示。
在405中,記憶體系統可將寫入資料儲存於快閃記憶體之一實體區塊中。在一些實例中,實體區塊可為由主機使用寫入命令所供應之相同實體區塊。在407中,記憶體系統可對關於寫入命令之執行之回復資訊加密。在某些實例中,回復資訊可包含其中儲存寫入資料之實體區塊之一指示。在一些實例中,回復資訊可包含一可辨識密鑰以允許主機提取實體區塊資訊來維護快閃記憶體之維護統計。在411中,可回應於寫入命令來經由一回復訊息向主機發送回復資訊。
圖5大體上繪示用於在一記憶體裝置處自一主機接收一記憶體維護命令之一實例方法500之一流程圖。在501中,記憶體裝置可自主機接收一維護命令。維護命令可包含記憶體裝置之一快閃記憶體區塊之一位址之一表示。在某些實例中,在503中,可對記憶體區塊之表示加密且記憶體裝置之一控制器可對記憶體區塊位址解密。在某些實例中,記憶體裝置可維護基本維護統計且可將維護命令視為一提示,尤其在其中主機未以一FTL操作模式操作之情況中。當將維護命令視為一提示時,記憶體裝置可比較基本統計與一臨限值以判定是否執行命令維護。在某些實例中,記憶體裝置可視情況經由一回復訊息向主機提供指示是否執行維護之回復資訊。
在505中,當維護命令係一廢棄項目收集命令時,記憶體裝置可在記憶體區塊處執行廢棄項目收集。在507中,當維護命令係一損耗均衡命令時,記憶體裝置可在記憶體區塊處執行損耗均衡操作。在511中,如上文所論述,記憶體裝置可視情況回應於維護命令來經由一回復訊息向主機提供回復。
圖6大體上繪示使用一主機來維護一快閃記憶體裝置之一實例方法600之一流程圖。在601中,主機可啟始或維護關於主機用於儲存資訊之一快閃記憶體裝置之統計。在某些實例中,統計可包含(但不限於)快閃記憶體裝置之記憶體胞元之一或多個區塊之FTL映射資訊、區塊壽命、區塊擦除計數、錯誤歷史、錯誤參數資訊、主機重設超時值、記憶體操作命令延時或一或多個錯誤計數(例如一寫入操作錯誤計數、一讀取位元錯誤計數、一讀取操作錯誤計數、一擦除錯誤計數等等)。在603中,主機可向快閃記憶體裝置發送一寫入命令及相關聯寫入資料。在605中,主機可接收與寫入命令相關聯或回應於寫入命令之加密回復資訊。加密回復資訊可包含關於其中儲存寫入資料之快閃記憶體區塊之資訊。在某些實例中,加密回復資訊可包含主機可辨識之一密鑰,且密鑰可用於對加密回復資訊之至少一部分(諸如關於其中儲存寫入資料之快閃記憶體之區塊之資訊)解密。
在607中,主機可使用關於其中儲存寫入資料之快閃記憶體之區塊之資訊(具有加密回復資訊)來更新關於快閃記憶體裝置之統計。在某些實例中,主機可比較統計之一或多者與維護臨限值且可在609中向記憶體裝置發送一維護命令。在某些實例中,維護命令可包含(但不限於)一廢棄項目收集命令或一損耗均衡命令。維護命令可包含快閃記憶體裝置之快閃記憶體之一目標區塊之一位址。在某些實例中,可對目標區塊之位址加密,使得真正實際區塊僅可由快閃記憶體裝置解密。在某些實例中,由主機保存之關於快閃記憶體裝置之統計係非常程式統計且當主機向記憶體裝置發送一維護命令時,記憶體裝置將命令視為一建議且可在保存於記憶體裝置處之較細晶粒統計(與由主機保存之統計相比)滿足快閃記憶體裝置之一維護臨限值時不執行維護命令。在某些實例中,記憶體裝置可視情況經由一回復訊息向主機提供指示是否執行維護之回復資訊。
圖7繪示其上可執行本文中所論述之技術(例如方法)之任何一或多者之一實例機器700之一方塊圖。在替代實施例中,機器700可操作為一獨立裝置或可連接(例如,聯網)至其他機器。在一聯網部署中,機器700可充當一伺服器-用戶端網路環境中之一伺服器機器、一用戶端機器或兩者。在一實例中,機器700可充當同級間(P2P)(或其他分佈式)網路環境中之一同級機器。機器700可為一個人電腦(PC)、一平板PC、一視訊轉換器(STB)、一個人數位助理(PDA)、一行動電話、一網路設備、一IoT裝置、汽車系統或能夠執行指令(循序或依其他方式)之任何機器,指令指定由該機器採取之動作。此外,儘管僅繪示一單一機器,但術語「機器」亦應被視作包含機器之任何集合,其等個別或共同執行一組(或多組)指令以執行本文中所論述之方法之任何一或多者,諸如雲端運算、軟體即服務(SaaS)、其他電腦叢集組態。
如本文中所描述,實例可包含邏輯、組件、裝置、封裝或機構或可由邏輯、組件、裝置、封裝或機構操作。電路系統係實施於包含硬體(例如簡單電路、閘、邏輯等等)之有形實體中之電路之一集合(例如組)。電路系統成員資格可隨時間及潛在硬體可變性而靈活調整。電路系統包含可在操作時單獨或組合執行特定任務之成員。在一實例中,電路系統之硬體可經不變設計以執行一特定操作(例如硬連線)。在一實例中,電路系統之硬體可包含可變連接之實體組件(例如執行單元、電晶體、簡單電路等等),其包含經物理修改(例如磁性地、電地、不變質量粒子之可移動放置等等)以編碼特定操作之指令的一電腦可讀媒體。在連接實體組件時,改變一硬體構成之基本電性質,例如自一絕緣體至一導體或反之亦然。指令使參與硬體(例如執行單元或一載入機構)能夠經由可變連接產生硬體中之電路系統之成員以在操作時實施特定任務之部分。因此,當裝置在操作時,電腦可讀媒體通信地耦合至電路系統之其他組件。在一實例中,實體組件之任何者可用於一個以上電路系統之一個以上成員中。例如,在操作下,執行單元可在一時間點用於一第一電路系統之一第一電路中且在一不同時間由第一電路系統中之一第二電路或一第二電路系統中之一第三電路再用。
機器(例如電腦系統) 700 (例如主機105、記憶體裝置110等等)可包含一處理裝置702 (例如一硬體處理器、一中央處理單元(CPU)、一圖形處理單元(GPU)、一硬體處理器核心或其等之任何組合,諸如記憶體裝置110之一記憶體控制器等等)、一主記憶體704 (例如唯讀記憶體(ROM)、快閃記憶體、動態隨機存取記憶體(DRAM)(諸如同步DRAM (SDRAM)或Rambus DRAM (RDRAM))等等)、一靜態記憶體706 (例如快閃記憶體、靜態隨機存取記憶體(SRAM)等等)及一資料儲存系統718(其部分或全部可經由一互連鏈路(例如匯流排) 730彼此通信)。
處理裝置702可表示一或多個通用處理裝置,諸如一微處理器、一中央處理單元或其類似者。更特定言之,處理裝置可為一複雜指令集運算(CISC)微處理器、精簡指令集運算(RISC)微處理器、超長指令字(VLIW)微處理器或實施其他指令集之一處理器或實施指令集之一組合之處理器。處理裝置702亦可為一或多個專用處理裝置,諸如一專用積體電路(ASIC)、一場可程式化閘陣列(FPGA)、一數位信號處理器(DSP)、網路處理器或其類似者。處理裝置702可經組態以執行指令726以執行本文中所論述之操作及步驟。電腦系統700可進一步包含一網路介面裝置708以通過一網路720通信。
資料儲存系統718可包含一機器可讀儲存媒體724 (亦稱為一電腦可讀媒體),其上儲存體現本文中所描述之方法或功能之任何一或多者之一或多組指令726或軟體。指令726亦可在由電腦系統700執行其期間完全或至少部分駐留於主記憶體704或處理裝置702內,主記憶體704及處理裝置702亦構成機器可讀儲存媒體。機器可讀儲存媒體724、資料儲存系統718或主記憶體704可對應於圖1之記憶體裝置110。
在一實施方案中,指令726包含用於實施對應於上文相對於圖2或圖3所論述之一或多個主機駐留FTL操作之功能的指令。儘管在一實例實施方案中將機器可讀儲存媒體724展示為一單一媒體,但術語「機器可讀儲存媒體」應被視作包含儲存一或多組指令之一單一媒體或多個媒體。術語「機器可讀儲存媒體」亦應被視作包含能夠儲存或編碼一組指令用於由機器執行且引起機器執行本發明之方法至任何一或多者的任何媒體。因此,術語「機器可讀儲存媒體」應被視作包含(但不限於)固態記憶體、光學媒體及磁性媒體。在一實例中,一大容量機器可讀媒體包括含具有不變(例如靜止)質量之複數個粒子之一機器可讀媒體。因此,大容量機器可讀媒體並非為暫時傳播信號。大容量機器可讀媒體之特定實例可包含:非揮發性記憶體,諸如半導體記憶體裝置(例如電可程式化唯讀記憶體(EPROM)、電可擦除可程式化唯讀記憶體(EEPROM))及快閃記憶體裝置;磁碟,諸如內部硬碟及可抽換磁碟;磁光碟;及CD-ROM及DVD-ROM磁碟。
機器700可進一步包含一顯示單元、一字母數字輸入裝置(例如一鍵盤)及一使用者介面(UI)導覽裝置(例如一滑鼠)。在一實例中,顯示單元、輸入裝置或UI導覽裝置之一或多者可為一觸控螢幕顯示器。機器可包含一信號產生裝置(例如一揚聲器)或一或多個感測器,諸如一全球定位系統(GPS)感測器、羅盤、加速計或一或多個其他感測器。機器700可包含一輸出控制器,諸如一串列(例如通用串列匯流排(USB)、並列或其他有線或無線(例如紅外線(IR)、近場通信(NFC)等等)連接以通信或控制一或多個周邊裝置(例如一印表機、讀卡器等等)。
指令726 (例如軟體、程式、一作業系統(OS)等等)或其他資料儲存於資料儲存裝置718上,可由主記憶體704存取用於由處理裝置702使用。主記憶體704 (例如DRAM)通常係快速但揮發性的且因此為不同於資料儲存裝置718 (例如一SSD)(其適合於長期儲存,包含在處於一「斷電」條件中時)之一儲存器類型。由一使用者或機器700使用之指令726或資料通常載入至主記憶體704中用於由處理裝置702使用。當主記憶體704滿載時,可分配來自資料儲存裝置718之虛擬空間來補充主記憶體704;然而,因為資料儲存裝置718通常比主記憶體704慢且寫入速度通常比讀取速度至少慢1倍,所以使用虛擬記憶體可歸因於儲存裝置延時而使使用者體驗大幅降級(與主記憶體704 (例如DRAM)相比)。此外,將資料儲存裝置718用於虛擬記憶體會大幅縮短資料儲存裝置718之可用壽命。
與虛擬記憶體相比,虛擬記憶體壓縮(例如LinuxTM
內核特徴「ZRAM」)使用記憶體之部分作為壓縮區塊儲存以避免分頁至資料儲存裝置718。在壓縮區塊中發生分頁,直至需要將此資料寫入至資料儲存裝置718。虛擬記憶體壓縮增大主記憶體704之可用大小,同時減少資料儲存裝置718之損耗。
針對行動電子裝置所最佳化之儲存裝置或行動儲存器通常包含MMC固態儲存裝置(例如微型安全數位(microSDTM
)卡等等)。MMC裝置包含與一主機(例如一主機裝置)之諸多並行介面(例如一8位元並行介面),且通常為可抽換且與主機分離之組件。相比而言,eMMCTM
裝置附接至一電路板且被視作主機之一組件,其具有與基於串列ATATM
(串列AT (先進技術)附件或SATA)之SSD裝置相當之讀取速度。然而,對行動裝置效能之需求不斷提高,諸如完全實現虛擬或擴增實境裝置、利用不斷提高網路速度等等。回應於此需求,儲存裝置已自並行通信介面變換至串列通信介面。通用快閃儲存(UFS)裝置(包含控制器及韌體)使用與專用讀取/寫入路徑之一低電壓差動傳信(LVDS)串列介面來與一主機通信以進一步提高讀取/寫入速度。
指令726可進一步利用諸多傳送協定(例如訊框中繼、網際網路協定(IP)、傳輸控制協定(TCP)、使用者資料報協定(UDP)、超文字傳送協定(HTTP)等等)之任何一者、經由網路介面裝置708、使用一傳輸媒體來傳輸或接收於一網路720上。實例通信網路可包含一區域網路(LAN)、一廣域網路(WAN)、一封包資料網路(例如網際網路)、行動電話網路(例如蜂巢式網路)、普通老式電話(POTS)網路及無線資料網路(例如稱為Wi-Fi®
之電氣及電子工程師協會(IEEE) 802.11系列標準、稱為WiMax®
之IEEE 802.16系列標準)、IEEE 802.15.4系列標準、同級間(P2P)網路等等。在一實例中,網路介面裝置708可包含一或多個實體插孔(例如乙太網路、同軸或電話插孔)或一或多個天線以連接至網路720。在一實例中,網路介面裝置708可包含使用單輸入多輸出(SIMO)、多輸入多輸出(MIMO)或多輸入單輸出(MISO)技術之至少一者來無線通信之複數個天線。術語「傳輸媒體」應被視作包含能夠儲存、編碼或攜載由機器700執行之指令的任何無形媒體,且包含數位或類比通信信號或其他無形媒體以促進此軟體之通信。
額外註釋及實例
實例1係一種方法,其包括:自一記憶體裝置向一主機提供映射表資訊;在該記憶體裝置處自該主機接收一寫入命令及寫入資料;在該記憶體裝置處執行該寫入命令以將該寫入資料儲存於該記憶體裝置之一實體區塊中;及在該記憶體裝置處對回復資訊加密,該回復資訊包含該實體區塊之一實體位址;及回應於該寫入命令來向該主機發送包含該加密回復資訊之一回復訊息。
在實例2中,如實例1之標的,其包含在該記憶體裝置處自該主機接收一記憶體維護命令,其中該記憶體維護命令包含該加密回復資訊之至少一部分。
在實例3中,如實例2之標的,其包含在該記憶體裝置處對該加密回復資訊解密以提供該實體位址。
在實例4中,如實例3之標的,其中該記憶體維護命令係一廢棄項目收集命令。
在實例5中,如實例4之標的,其中該方法包含在由該實體位址表示之該記憶體裝置之一實體記憶體區塊處執行廢棄項目收集。
在實例6中,如實例4至5中任一項之標的,其:判定該實體位址並非為該記憶體裝置之一有效實體位址;及不回應於該廢棄項目收集命令來執行一廢棄項目收集程序。
在實例7中,如實例3至6中任一項之標的,其中該記憶體維護命令係一損耗均衡命令。
在實例8中,如實例7之標的,其包含在由該實體位址表示之該記憶體裝置之一實體記憶體區塊處執行一損耗均衡程序。
在實例9中,如實例7至8中任一項之標的,其包含:判定該實體位址並非為該記憶體裝置之一有效實體位址;及不回復於該損耗均衡命令來執行一損耗均衡程序。
在實例10中,如實例1至9中任一項之標的,其中該回復資訊包含一密鑰;且其中解密該回復資訊包含使用該密鑰來解密該回復資訊。
在實例11中,如實例1至10中任一項之標的,其中該實體區塊包含快閃記憶體。
在實例12中,如實例11之標的,其中該快閃記憶體包含NAND (「反及」)記憶體。
實例13係一種方法,其包括:在一主機處維護一外部快閃記憶體系統之映射表資訊及記憶體統計;自該主機向該外部快閃記憶體系統發送一寫入命令及寫入資料;回應於該寫入命令來自該外部快閃記憶體系統接收加密回復資訊;在該主機處使用該加密回復資訊來更新該外部快閃記憶體系統之該等記憶體統計;及當與該加密回復資訊相關聯之一記憶體統計滿足一維護臨限值時,發送一記憶體維護命令;且其中該記憶體維護命令包含該加密回復資訊。
在實例14中,如實例13之標的,其中該加密回復資訊包含一密鑰。
在實例15中,如實例14之標的,其中維護該外部快閃記憶體系統之記憶體統計包含使用該密鑰來解密該加密回復資訊以提供該外部快閃記憶體系統之一實體位址。
在實例16中,如實例15之標的,其中維護該外部快閃記憶體系統之記憶體統計包含使用該實體位址來更新該映射表資訊。
在實例17中,如實例15至16中任一項之標的,其中維護該外部快閃記憶體系統之記憶體統計包含使用該實體位址來維護一有效資料計數統計。
在實例18中,如實例15至17中任一項之標的,其中維護該外部快閃記憶體系統之記憶體統計包含使用該實體位址來維護一滿載/空置狀態統計。
在實例19中,如實例15至18中任一項之標的,其中維護該外部快閃記憶體系統之記憶體統計包含使用該實體位址來維護自上次寫入統計以來之一時間。
在實例20中,如實例13至19中任一項之標的,其中該記憶體維護命令係一廢棄項目收集命令。
在實例21中,如實例13至20中任一項之標的,其中該記憶體維護命令係一損耗均衡命令。
實例22係一種至少一機器可讀媒體,其包含指令,該等指令在由處理電路系統執行時引起該處理電路系統執行操作以實施如實例1至21中任一項之標的。
實例23係一種設備,其包括用於實施如實例1至21中任一項之標的之構件。
實例24係一種系統,其用於實施如實例1至21中任一項之標的。
實例25係一種方法,其用於實施如實例1至21中任一項之標的。
[實施方式]包含參考附圖,附圖構成[實施方式]之一部分。圖式依繪示方式展示其中可實踐本發明之特定實施例。此等實施例在本文中亦指稱「實例」。此等實例可包含除所展示或描述之元件之外的元件。然而,本發明者亦預期其中僅提供所展示或描述之元件的實例。此外,本發明者亦預期使用相對於一特定實例(或其之一或多個態樣)或相對於本文中所展示或描述之其他實例(或其之一或多個態樣)所展示或描述之元件(或其之一或多個態樣)之任何組合或排列的實例。
在本發明中,如專利文件中所常見,術語「一」用於包含一個或一個以上,其無關於「至少一」或「一或多個」之任何其他例項或使用。在本發明中,除非另有指示,否則術語「或」用於係指一非排他「或」,使得「A或B」可包含「A而非B」、「B而非A」及「A及B」。在隨附申請專利範圍中,術語「包含」及「其中(in which)」用作各自術語「包括」及「其中(wherein)」之普通英語等效詞。此外,在以下申請專利範圍中,術語「包含」及「包括」係開放式的。包含除一請求項中之此一術語之後所列之元件之外的元件之一系統、裝置、物品或程序仍被視作落於該請求項之範疇內。此外,在以下申請專利範圍中,術語「第一」、「第二」及「第三」等等僅用作標籤且不意欲對其對象強加數值要求。
在各種實例中,本文中所描述之組件、控制器、處理器、單元、引擎或表可尤其包含儲存於一實體裝置上之實體電路系統或韌體。如本文中所使用,「處理器」意謂任何類型之運算電路,諸如(但不限於)一微處理器、一微控制器、一圖形處理器、一數位信號處理器(DSP)或任何其他類型之處理器或處理電路(包含一處理器或多核心裝置群組)。
如本文中所使用,操作一記憶體胞元包含自記憶體胞元讀取、寫入至記憶體胞元或擦除記憶體胞元。使一記憶體胞元處於一預期狀態中之操作在本文中指稱「程式化」,且可包含寫入至記憶體胞元或自記憶體胞元擦除兩者(例如,記憶體胞元可經程式化至一擦除狀態)。
一NOR或NAND架構半導體記憶體陣列中之各快閃記憶體胞元可經個別或共同程式化至一或數個程式化狀態。例如,一單位階胞元(SLC)可表示兩個程式化狀態(例如1或0)之一者以表示單位元資料。然而,快閃記憶體胞元亦可表示兩個以上程式化狀態之一者以允許在不增加記憶體胞元之數目之情況下製造更高密度記憶體,此係因為各胞元可表示一個以上二進位數位(例如一個以上位元)。此等胞元可指稱多狀態記憶體胞元、多數位胞元或多位階胞元(MLC)。在某些實例中,MLC可係指每胞元可儲存兩個資料位元(例如四個程式化狀態之一者)之一記憶體胞元,三位階胞元(TLC)可係指每胞元可儲存三個資料位元(例如八個程式化狀態之一者)之一記憶體胞元,且四位階胞元(QLC)可每胞元儲存四個資料位元。除非由明確語言或內文另外清楚指示,否則MLC在本文中用於更廣義地係指每胞元可儲存一個以上資料位元(即,可表示兩個以上程式化狀態)之記憶體胞元。
根據本發明之一或多個實施例,定位於一記憶體裝置內部或外部之一記憶體控制器(例如一處理器、控制器、韌體等等)能夠判定(例如選擇、設定、調整、運算、改變、清除、傳達、調適、導出、界定、利用、修改、應用等等)一定數量之損耗循環或一損耗狀態(例如記錄損耗循環、在記憶體裝置之操作發生時對其計數、追蹤記憶體裝置啟始之其操作、評估對應於一損耗狀態之記憶體裝置特性等等)。
根據本發明之一或多個實施例,一記憶體存取裝置可經組態以使用各記憶體操作來向記憶體裝置提供損耗循環資訊。記憶體裝置控制電路系統(例如控制邏輯)可經程式化以補償對應於損耗循環資訊之記憶體裝置效能變化。記憶體裝置可接收損耗循環資訊且回應於損耗循環資訊來判定一或多個操作參數(例如一值、特性)。
本文中所描述之方法實例可至少部分為機器、裝置或電腦實施的。一些實例可包含經指令編碼之一電腦可讀媒體、一裝置可讀媒體或一機器可讀媒體,指令可操作以組態一電子裝置執行上述實例中所描述之方法。此等方法之一實施方案可包含程式碼,諸如微程式碼、組合語言碼、一高階語言碼或類似者。此程式碼可包含用於執行各種方法之電腦可讀指令。程式碼可形成電腦程式產品之部分。此外,程式碼可(諸如)在執行期間或在其他時間有形地儲存於一或多個揮發性或非揮發性有形電腦可讀媒體上。此等有形電腦可讀媒體之實例可包含(但不限於)硬碟、可抽換磁碟、可抽換光碟(例如光碟及數位視訊光碟)、卡式磁帶、記憶體卡或棒、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、固態硬碟(SSD)、通用快閃儲存(UFS)裝置、嵌入式MMC (eMMC)裝置及其類似者。
以上描述意欲具繪示性而非限制性。例如,上述實例(或其之一或多個態樣)可彼此組合使用。諸如一般技術者可在檢視以上描述之後使用其他實施例。應瞭解,可認為其不會用於解譯或限制申請專利範圍之範疇或含義。此外,在[實施方式]中,各種特徵可群組在一起以簡化本發明。此不應被解譯為期望任何請求項必需具有一未主張之揭示特徵。確切而言,發明標的可具有一特定揭示實施例之非所有特徵。因此,以下申請專利範圍特此併入至[實施方式]中,其中各請求項自身作為一單獨實施例,且預期此等實施例可以各種組合或排列彼此組合。應參考隨附申請專利範圍及此申請專利範圍所授權之等效物之全範疇來判定實施例之範疇。
100:環境
105:主機
110:記憶體裝置
111:通信介面
115:記憶體控制器
120:記憶體陣列
125:記憶體管理器
130:管理表
131:第二記憶體
135:陣列控制器
140:錯誤校正碼(ECC)組件
150:產品
160:密碼編譯電路/密碼編譯電路系統
161:第一完整快閃轉譯層(FTL)表
162:第二完整FTL表
200:實例方法
201:在主機駐留FTL操作期間,接收包含LBA及一實體位址之表示之記憶體請求
203:解密實體位址之表示
205:確認經解密實體位址
207:使用經解密實體位址來執行記憶體請求
209:不使用經解密實體位址
211:回傳錯誤指示
213:擷取校正實體位址且使用校正實體位址來執行記憶體請求
300:實例方法
301:在密碼編譯電路處接收包含LBA及實體位址之映射記錄
303:使用實體位址及憑證來應用加密演算法
305:使用加密實體位址來替換映射記錄之實體位址
307:將包含映射記錄之映射資訊傳送至主機
400:實例方法
401:自記憶體裝置向一主機提供一記憶體系統之映射資訊
403:在記憶體裝置處自主機接收一寫入命令
405:在記憶體裝置處執行寫入命令以將寫入資料儲存於記憶體系統之一實體區塊中
407:在記憶體系統處對回復資訊加密
411:回應於寫入命令來向主機發送包含加密回復資訊之一回復訊息
500:實例方法
501:在記憶體裝置處自一主機接收一記憶體維護命令
503:解密具有記憶體維護命令之一實體位址之表示
505:當記憶體命令係一廢棄項目收集命令時,在記憶體裝置之一實體區塊處執行廢棄項目收集操作
507:當記憶體命令係一損耗均衡命令時,在記憶體裝置之一實體區塊處執行損耗均衡操作
600:實例方法
601:在一主機處維護一快閃記憶體裝置之映射統計
603:自主機向快閃記憶體裝置發送一寫入命令
605:在主機處回應於寫入命令來自快閃記憶體裝置接收加密回復資訊
607:在主機處回應於回復資訊來更新記憶體統計
609:當與加密回復資訊相關聯之一記憶體統計滿足一維護臨限值時,自主機向記憶體裝置發送一記憶體維護命令
700:機器/電腦系統
702:處理裝置
704:主記憶體
706:靜態記憶體
708:網路介面裝置
718:資料儲存系統/資料儲存裝置
720:網路
724:機器可讀儲存媒體
726:指令
730:互連鏈路
在未必按比例繪製之圖式中,相似元件符號可描述不同視圖中之類似組件。具有不同字母後綴之相似元件符號可表示類似組件之不同例項。圖式大體上依舉例而非限制之方式繪示本發明中所論述之各種實施例。
圖1繪示包含一記憶體裝置(其上可實施本發明之一或多個實例)之一環境之一實例系統。
圖2大體上繪示使用主機駐留FTL之態樣來實施一快閃記憶體系統處之記憶體操作之一實例方法之一流程圖。
圖3大體上繪示用於高效監測及更新主機駐留FTL操作之主機映射表資料之一實例方法之一流程圖。
圖4大體上繪示用於在主機處維護記憶體系統之快閃記憶體維護資訊之一實例方法之一流程圖。
圖5大體上繪示用於在一記憶體裝置處自一主機接收一維護命令之一實例方法之一流程圖。
圖6大體上繪示用於使用一主機來維護一快閃記憶體裝置之一實例方法之一流程圖。
圖7繪示其上可執行本文中所論述之技術(例如方法)之任何一或多者之一實例機器之一方塊圖。
400:實例方法
401:自記憶體裝置向一主機提供一記憶體系統之映射資訊
403:在記憶體裝置處自主機接收一寫入命令
405:在記憶體裝置處執行寫入命令以將寫入資料儲存於記憶體系統之一實體區塊中
407:在記憶體系統處對回復資訊加密
411:回應於寫入命令來向主機發送包含加密回復資訊之一回復訊息
Claims (21)
- 一種用於操作記憶體之方法,其包括:自一記憶體裝置向一主機提供映射表資訊(mapping table information);在該記憶體裝置處自該主機接收一寫入命令及寫入資料;在該記憶體裝置處執行該寫入命令以將該寫入資料儲存於該記憶體裝置之一實體區塊(physical block)中;及在該記憶體裝置處對回復資訊(reply information)加密,以提供加密回復資訊以在該主機處解密時揭露一第一區塊之一位址,其中該第一區塊之該位址並未將該記憶體裝置之一真正實體區塊之一位址指示至該主機;及回應於該寫入命令來向該主機發送包含該加密回復資訊之一回復訊息。
- 如請求項1之方法,其包含在該記憶體裝置處自該主機接收一記憶體維護命令(memory maintenance command),其中該記憶體維護命令包含該加密回復資訊之至少一部分。
- 如請求項2之方法,其包含在該記憶體裝置處解密該加密回復資訊以提供該記憶體裝置之一第一實體位址。
- 如請求項3之方法,其中該記憶體維護命令係一廢棄項目收集命令 (garbage collection command)。
- 如請求項4之方法,其中該方法包含在由該第一實體位址表示之該記憶體裝置之一實體記憶體區塊處執行廢棄項目收集。
- 如請求項4之方法,其:判定該第一實體位址並非為該記憶體裝置之一有效實體位址;及不回應於該廢棄項目收集命令來執行一廢棄項目收集程序。
- 如請求項3之方法,其中該記憶體維護命令係一損耗均衡命令(wear-leveling command)。
- 如請求項7之方法,其包含在由該第一實體位址表示之該記憶體裝置之一實體記憶體區塊處執行一損耗均衡程序。
- 如請求項7之方法,其包含:判定該第一實體位址並非為該記憶體裝置之一有效實體位址;及不回應於該損耗均衡命令來執行一損耗均衡程序。
- 如請求項1之方法,其中該回復資訊包含一密鑰(secret);且其中解密該回復資訊包含使用該密鑰來解密該回復資訊。
- 如請求項1之方法,其中該實體區塊包含快閃記憶體。
- 如請求項11之方法,其中該快閃記憶體包含NAND(「反及」)記憶體。
- 一種用於操作記憶體之方法,其包括:在一主機處維護一外部快閃記憶體系統之映射表資訊及記憶體統計(memory statistics);自該主機向該外部快閃記憶體系統發送一寫入命令及寫入資料;回應於該寫入命令來自該外部快閃記憶體系統接收加密回復資訊;在該主機處解密一第一加密部分以取得與該寫入資料相關聯之一第一區塊之一位址,其中該第一區塊之該位址並未指示該記憶體裝置之一真正實體區塊之一位址;在該主機處使用該第一區塊之該位址來更新該外部快閃記憶體系統之該等記憶體統計;及當與該第一區塊之該位址相關聯之一記憶體統計滿足一維護臨限值(maintenance threshold)時,發送一記憶體維護命令;且其中該記憶體維護命令包含該加密回復資訊。
- 如請求項13之方法,其中該加密回復資訊包含一密鑰(secret)。
- 如請求項14之方法,其中維護該外部快閃記憶體系統之記憶體統計包含使用該密鑰來解密該加密回復資訊以提供該外部快閃記憶體系統之一第一實體位址,其中該第一實體位址並非為該外部快閃記憶體系統之一真 正實體位址。
- 如請求項15之方法,其中維護該外部快閃記憶體系統之記憶體統計包含使用該第一實體位址來更新該映射表資訊。
- 如請求項15之方法,其中維護該外部快閃記憶體系統之記憶體統計包含使用該第一實體位址來維護一有效資料計數統計(valid data count statistic)。
- 如請求項15之方法,其中維護該外部快閃記憶體系統之記憶體統計包含使用該第一實體位址來維護一滿載(full)/空置(empty)狀態統計。
- 如請求項15之方法,其中維護該外部快閃記憶體系統之記憶體統計包含使用該第一實體位址來維護自上次寫入統計以來之一時間。
- 如請求項13之方法,其中該記憶體維護命令係一廢棄項目收集命令。
- 如請求項13之方法,其中該記憶體維護命令係一損耗均衡命令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/230,313 | 2018-12-21 | ||
US16/230,313 US11226894B2 (en) | 2018-12-21 | 2018-12-21 | Host-based flash memory maintenance techniques |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202038086A TW202038086A (zh) | 2020-10-16 |
TWI737088B true TWI737088B (zh) | 2021-08-21 |
Family
ID=71097701
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110126065A TW202141267A (zh) | 2018-12-21 | 2019-12-19 | 主機型快閃記憶體維護技術 |
TW108146582A TWI737088B (zh) | 2018-12-21 | 2019-12-19 | 主機型快閃記憶體維護技術 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110126065A TW202141267A (zh) | 2018-12-21 | 2019-12-19 | 主機型快閃記憶體維護技術 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11226894B2 (zh) |
EP (1) | EP3899731A4 (zh) |
JP (1) | JP2022522595A (zh) |
KR (2) | KR20220038188A (zh) |
CN (1) | CN113439264A (zh) |
TW (2) | TW202141267A (zh) |
WO (1) | WO2020132274A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11263124B2 (en) | 2018-08-03 | 2022-03-01 | Micron Technology, Inc. | Host-resident translation layer validity check |
US11226907B2 (en) | 2018-12-19 | 2022-01-18 | Micron Technology, Inc. | Host-resident translation layer validity check techniques |
US11226894B2 (en) | 2018-12-21 | 2022-01-18 | Micron Technology, Inc. | Host-based flash memory maintenance techniques |
US20220326887A1 (en) * | 2021-04-06 | 2022-10-13 | Micron Technology, Inc. | Log management maintenance operation and command |
US11556482B1 (en) * | 2021-09-30 | 2023-01-17 | International Business Machines Corporation | Security for address translation services |
CN117632042B (zh) * | 2024-01-25 | 2024-04-30 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110082967A1 (en) * | 2009-10-05 | 2011-04-07 | Deshkar Shekhar S | Data Caching In Non-Volatile Memory |
TW201514697A (zh) * | 2013-10-02 | 2015-04-16 | Phison Electronics Corp | 資料處理方法、記憶體儲存裝置與記憶體控制電路單元 |
US20150293858A1 (en) * | 2011-04-29 | 2015-10-15 | Seagate Technology Llc | Encrypted Transport Solid-State Disk Controller |
TWI641966B (zh) * | 2018-01-15 | 2018-11-21 | 群聯電子股份有限公司 | 記憶體儲存系統、主機系統驗證方法及記憶體儲存裝置 |
Family Cites Families (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5812861A (en) * | 1995-06-22 | 1998-09-22 | Intel Corporation | Override signal for forcing a powerdown of a flash memory |
JPH09252323A (ja) | 1996-01-11 | 1997-09-22 | Sony Corp | 通信システムおよび通信装置 |
US6345347B1 (en) | 1999-09-27 | 2002-02-05 | International Business Machines Corporation | Address protection using a hardware-defined application key |
US7134138B2 (en) | 2001-02-15 | 2006-11-07 | Emc Corporation | Methods and apparatus for providing security for a data storage system |
JP3866597B2 (ja) | 2002-03-20 | 2007-01-10 | 株式会社東芝 | 内部メモリ型耐タンパプロセッサおよび秘密保護方法 |
US8060756B2 (en) | 2003-08-07 | 2011-11-15 | Rao G R Mohan | Data security and digital rights management system |
US20080082736A1 (en) | 2004-03-11 | 2008-04-03 | Chow David Q | Managing bad blocks in various flash memory cells for electronic data flash card |
JP4698982B2 (ja) * | 2004-04-06 | 2011-06-08 | 株式会社日立製作所 | 暗号処理を行うストレージシステム |
JP4447977B2 (ja) | 2004-06-30 | 2010-04-07 | 富士通マイクロエレクトロニクス株式会社 | セキュアプロセッサ、およびセキュアプロセッサ用プログラム。 |
US7085190B2 (en) | 2004-09-16 | 2006-08-01 | Stmicroelectronics, Inc. | Variable boost voltage row driver circuit and method, and memory device and system including same |
US20060294299A1 (en) | 2005-06-28 | 2006-12-28 | Intel Corporation | Techniques to verify storage of information |
JP4932390B2 (ja) | 2006-08-31 | 2012-05-16 | 株式会社日立製作所 | 仮想化システム及び領域割当て制御方法 |
US7681008B2 (en) | 2006-09-29 | 2010-03-16 | Sandisk Corporation | Systems for managing file allocation table information |
US8161353B2 (en) | 2007-12-06 | 2012-04-17 | Fusion-Io, Inc. | Apparatus, system, and method for validating that a correct data segment is read from a data storage device |
KR100823171B1 (ko) * | 2007-02-01 | 2008-04-18 | 삼성전자주식회사 | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 |
US8489886B2 (en) | 2007-10-03 | 2013-07-16 | International Business Machines Corporation | Double authentication for controlling disruptive operations on storage resources |
US8375151B1 (en) | 2009-02-12 | 2013-02-12 | Siliconsystems, Inc. | Command portal for securely communicating and executing non-standard storage subsystem commands |
US8327066B2 (en) | 2008-09-30 | 2012-12-04 | Samsung Electronics Co., Ltd. | Method of managing a solid state drive, associated systems and implementations |
JP2010146326A (ja) | 2008-12-19 | 2010-07-01 | Toshiba Storage Device Corp | 記憶装置、その制御方法及びその記憶装置を用いた電子装置 |
US8412909B2 (en) | 2009-04-08 | 2013-04-02 | Samsung Electronics Co., Ltd. | Defining and changing spare space and user space in a storage apparatus |
US8176295B2 (en) | 2009-04-20 | 2012-05-08 | Imation Corp. | Logical-to-physical address translation for a removable data storage device |
KR101635502B1 (ko) | 2009-07-22 | 2016-07-01 | 삼성전자주식회사 | 반도체 메모리 장치 및 그것의 프로그램 방법 |
US8539148B1 (en) * | 2010-12-22 | 2013-09-17 | Emc Corporation | Deduplication efficiency |
WO2012127266A1 (en) | 2011-03-23 | 2012-09-27 | Sandisk Il Ltd. | Storage device and method for updating data in a partition of the storage device |
US9164887B2 (en) * | 2011-12-05 | 2015-10-20 | Industrial Technology Research Institute | Power-failure recovery device and method for flash memory |
US9208070B2 (en) | 2011-12-20 | 2015-12-08 | Sandisk Technologies Inc. | Wear leveling of multiple memory devices |
US9229853B2 (en) | 2011-12-20 | 2016-01-05 | Intel Corporation | Method and system for data de-duplication |
US9740439B2 (en) * | 2011-12-23 | 2017-08-22 | International Business Machines Corporation | Solid-state storage management |
KR20130081526A (ko) | 2012-01-09 | 2013-07-17 | 삼성전자주식회사 | 저장 장치, 그것을 포함하는 전자 장치, 및 그것의 데이터 관리 방법들 |
BR112014017543A2 (pt) | 2012-01-17 | 2017-06-27 | Intel Corp | técnicas de validação de comando para o acesso a um dispositivo de armazenamento por um cliente remoto |
JP5687648B2 (ja) * | 2012-03-15 | 2015-03-18 | 株式会社東芝 | 半導体記憶装置およびプログラム |
US20130269039A1 (en) | 2012-04-04 | 2013-10-10 | Infinidat Ltd. | Data access control |
JP5981563B2 (ja) | 2012-04-26 | 2016-08-31 | 株式会社日立製作所 | 情報記憶システム及び情報記憶システムの制御方法 |
US9244833B2 (en) | 2012-05-30 | 2016-01-26 | Silicon Motion, Inc. | Data-storage device and flash memory control method |
US9146920B2 (en) | 2012-09-10 | 2015-09-29 | Netronome Systems, Inc. | Transactional memory that performs an atomic look-up, add and lock operation |
KR20140057454A (ko) | 2012-11-02 | 2014-05-13 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 이와 통신하는 호스트 장치 |
US9164888B2 (en) * | 2012-12-10 | 2015-10-20 | Google Inc. | Using a logical to physical map for direct user space communication with a data storage device |
US9229854B1 (en) | 2013-01-28 | 2016-01-05 | Radian Memory Systems, LLC | Multi-array operation support and related devices, systems and software |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9407642B2 (en) | 2013-03-13 | 2016-08-02 | Samsung Electronics Co., Ltd. | Application access control method and electronic apparatus implementing the same |
US9606729B2 (en) | 2013-03-15 | 2017-03-28 | Skyera, Llc | Apparatus and method for insertion and deletion in multi-dimensional to linear address space translation |
US9898404B2 (en) | 2013-07-14 | 2018-02-20 | Cnex Labs | Method and apparatus for providing improved garbage collection process in solid state drive |
WO2015087426A1 (ja) | 2013-12-12 | 2015-06-18 | 株式会社日立製作所 | ストレージ装置及びストレージ装置の制御方法 |
KR102140792B1 (ko) | 2013-12-24 | 2020-08-03 | 삼성전자주식회사 | 데이터 중복 제거를 수행할 수 있는 데이터 저장 장치의 동작 방법들 |
CN104794063A (zh) | 2014-01-17 | 2015-07-22 | 光宝科技股份有限公司 | 一种具备电阻式存储器的固态储存装置的控制方法 |
US9594580B2 (en) * | 2014-04-09 | 2017-03-14 | Bitspray Corporation | Secure storage and accelerated transmission of information over communication networks |
KR20150126232A (ko) | 2014-05-02 | 2015-11-11 | 삼성전자주식회사 | 암호화 데이터 결정 방법 및 이를 제공하는 호스트 장치 |
KR102148889B1 (ko) | 2014-08-18 | 2020-08-31 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템 |
US9411539B2 (en) | 2014-09-24 | 2016-08-09 | International Business Machines Corporation | Providing access information to a storage controller to determine a storage tier for storing data |
US9489317B2 (en) | 2014-09-26 | 2016-11-08 | Apple Inc. | Method for fast access to a shared memory |
US9824043B2 (en) * | 2015-01-22 | 2017-11-21 | Lite-On Technology Corporation | System with solid state drive and control method thereof |
CN106033319A (zh) | 2015-03-11 | 2016-10-19 | 广明光电股份有限公司 | 固态硬盘动态建立转换层的方法 |
US9645757B2 (en) | 2015-03-23 | 2017-05-09 | International Business Machines Corporation | Computer memory data security |
US9749319B2 (en) | 2015-05-20 | 2017-08-29 | Google Inc. | Address validation using signatures |
US20170093823A1 (en) * | 2015-09-25 | 2017-03-30 | Vinodh Gopal | Encrypting Observable Address Information |
CN108139902A (zh) | 2015-10-16 | 2018-06-08 | 科内克斯实验室公司 | 用于提供混合模式来访问ssd驱动器的方法和装置 |
US20170177497A1 (en) | 2015-12-21 | 2017-06-22 | Qualcomm Incorporated | Compressed caching of a logical-to-physical address table for nand-type flash memory |
US10229051B2 (en) | 2015-12-30 | 2019-03-12 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory device and controller, operating method of storage device, and method for accessing storage device |
KR20170081118A (ko) * | 2015-12-30 | 2017-07-11 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치를 액세스하는 액세스 방법 |
JP6448570B2 (ja) * | 2016-03-08 | 2019-01-09 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
US10380069B2 (en) | 2016-05-04 | 2019-08-13 | Western Digital Technologies, Inc. | Generalized write operations verification method |
US9967088B2 (en) | 2016-05-23 | 2018-05-08 | Accenture Global Solutions Limited | Rewritable blockchain |
US10754988B2 (en) * | 2016-08-30 | 2020-08-25 | Winbond Electronics Corporation | Anti-rollback version upgrade in secured memory chip |
US10489289B1 (en) | 2016-09-30 | 2019-11-26 | Amazon Technologies, Inc. | Physical media aware spacially coupled journaling and trim |
KR102643916B1 (ko) | 2016-10-18 | 2024-03-08 | 삼성전자주식회사 | 스토리지 장치, 메모리 시스템, 및 그것의 읽기 전압 결정 방법 |
US10620846B2 (en) | 2016-10-26 | 2020-04-14 | ScaleFlux, Inc. | Enhancing flash translation layer to improve performance of databases and filesystems |
US10235069B2 (en) | 2016-12-22 | 2019-03-19 | Western Digital Technologies, Inc. | Load balancing by dynamically transferring memory range assignments |
US10635584B2 (en) | 2017-06-29 | 2020-04-28 | Western Digital Technologies, Inc. | System and method for host system memory translation |
US10430117B2 (en) | 2017-10-23 | 2019-10-01 | Micron Technology, Inc. | Host accelerated operations in managed NAND devices |
JP6982468B2 (ja) * | 2017-10-27 | 2021-12-17 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US10997066B2 (en) | 2018-02-20 | 2021-05-04 | Samsung Electronics Co., Ltd. | Storage devices that support cached physical address verification and methods of operating same |
JP7074519B2 (ja) | 2018-03-19 | 2022-05-24 | キオクシア株式会社 | メモリシステム、および、メモリ制御方法 |
US10510419B1 (en) | 2018-06-28 | 2019-12-17 | Micron Technology, Inc. | Monitoring and charging inhibit bit-line |
US11036651B2 (en) * | 2018-06-29 | 2021-06-15 | Micron Technology, Inc. | Host side caching security for flash memory |
US10459845B1 (en) | 2018-06-29 | 2019-10-29 | Micron Technology, Inc. | Host accelerated operations in managed NAND devices |
US10923202B2 (en) | 2018-08-03 | 2021-02-16 | Micron Technology, Inc. | Host-resident translation layer triggered host refresh |
US11263124B2 (en) | 2018-08-03 | 2022-03-01 | Micron Technology, Inc. | Host-resident translation layer validity check |
CN112673357B (zh) | 2018-08-03 | 2023-03-24 | 美光科技公司 | 主机驻留式转换层有效性检查 |
US10852964B2 (en) | 2018-09-25 | 2020-12-01 | Micron Technology, Inc. | Host-resident translation layer validity check techniques |
KR102567108B1 (ko) * | 2018-11-05 | 2023-08-14 | 삼성전자주식회사 | 데이터 스토리지 디바이스 및 데이터 스토리지 시스템 |
US11144635B2 (en) * | 2018-11-06 | 2021-10-12 | International Business Machines Corporation | Restricted command set management in a data storage system |
US11226907B2 (en) | 2018-12-19 | 2022-01-18 | Micron Technology, Inc. | Host-resident translation layer validity check techniques |
US11226894B2 (en) | 2018-12-21 | 2022-01-18 | Micron Technology, Inc. | Host-based flash memory maintenance techniques |
US11036625B1 (en) | 2020-04-24 | 2021-06-15 | Micron Technology, Inc. | Host-resident translation layer write command associated with logical block to physical address of a memory device |
-
2018
- 2018-12-21 US US16/230,313 patent/US11226894B2/en active Active
-
2019
- 2019-12-19 EP EP19898012.0A patent/EP3899731A4/en not_active Withdrawn
- 2019-12-19 KR KR1020227008946A patent/KR20220038188A/ko not_active Application Discontinuation
- 2019-12-19 CN CN201980083546.9A patent/CN113439264A/zh active Pending
- 2019-12-19 TW TW110126065A patent/TW202141267A/zh unknown
- 2019-12-19 KR KR1020217017849A patent/KR102377365B1/ko active IP Right Grant
- 2019-12-19 TW TW108146582A patent/TWI737088B/zh active
- 2019-12-19 JP JP2021535543A patent/JP2022522595A/ja active Pending
- 2019-12-19 WO PCT/US2019/067531 patent/WO2020132274A1/en unknown
-
2021
- 2021-08-09 US US17/397,393 patent/US11809311B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110082967A1 (en) * | 2009-10-05 | 2011-04-07 | Deshkar Shekhar S | Data Caching In Non-Volatile Memory |
US20150293858A1 (en) * | 2011-04-29 | 2015-10-15 | Seagate Technology Llc | Encrypted Transport Solid-State Disk Controller |
TW201514697A (zh) * | 2013-10-02 | 2015-04-16 | Phison Electronics Corp | 資料處理方法、記憶體儲存裝置與記憶體控制電路單元 |
TWI641966B (zh) * | 2018-01-15 | 2018-11-21 | 群聯電子股份有限公司 | 記憶體儲存系統、主機系統驗證方法及記憶體儲存裝置 |
Also Published As
Publication number | Publication date |
---|---|
US11226894B2 (en) | 2022-01-18 |
TW202038086A (zh) | 2020-10-16 |
KR102377365B1 (ko) | 2022-03-22 |
US20210365364A1 (en) | 2021-11-25 |
WO2020132274A1 (en) | 2020-06-25 |
TW202141267A (zh) | 2021-11-01 |
KR20220038188A (ko) | 2022-03-25 |
KR20210075207A (ko) | 2021-06-22 |
US20200201752A1 (en) | 2020-06-25 |
EP3899731A1 (en) | 2021-10-27 |
CN113439264A (zh) | 2021-09-24 |
US11809311B2 (en) | 2023-11-07 |
JP2022522595A (ja) | 2022-04-20 |
EP3899731A4 (en) | 2022-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11409651B2 (en) | Host accelerated operations in managed NAND devices | |
TWI737088B (zh) | 主機型快閃記憶體維護技術 | |
US11138108B2 (en) | Logical-to-physical map synchronization in a memory device | |
US11687469B2 (en) | Host-resident translation layer validity check techniques | |
US10884944B2 (en) | Host accelerated operations in managed NAND devices | |
CN113015975B (zh) | 安全逻辑到物理高速缓存 | |
US10852964B2 (en) | Host-resident translation layer validity check techniques | |
US11721388B2 (en) | Large file integrity techniques | |
US20230042487A1 (en) | Host assisted operations in managed memory devices | |
CN113841128B (zh) | 大型数据读取方法、装置及可读介质 |