TWI712883B - 在經管理反及閘裝置中之主機加速操作 - Google Patents
在經管理反及閘裝置中之主機加速操作 Download PDFInfo
- Publication number
- TWI712883B TWI712883B TW107137424A TW107137424A TWI712883B TW I712883 B TWI712883 B TW I712883B TW 107137424 A TW107137424 A TW 107137424A TW 107137424 A TW107137424 A TW 107137424A TW I712883 B TWI712883 B TW I712883B
- Authority
- TW
- Taiwan
- Prior art keywords
- verification
- nand
- physical address
- logical address
- address
- Prior art date
Links
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/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
- 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
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to 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
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/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/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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- 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/1008—Correctness of operation, e.g. memory ordering
-
- 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/1052—Security improvement
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- 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/65—Details of virtual memory and virtual address translation
-
- 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/7209—Validity control, e.g. using flags, time stamps or sequence numbers
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)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本文中描述用於經管理NAND裝置中之主機加速操作之裝置及技術。在一NAND裝置之一控制器處,接收一讀取請求。此處,該讀取請求包含一邏輯位址及一實體位址。從該NAND裝置之一NAND陣列擷取對應於該實體位址之一驗證分量。使用該邏輯位址、該實體位址及該驗證分量來運算該讀取請求之一驗證。接著基於該驗證來修改一讀取操作。
Description
本發明係關於主機加速操作,且更特定言之係關於經管理NAND裝置中之主機加速操作。
記憶體裝置通常提供為電腦或其他電子裝置中之內部、半導體、積體電路。存在數個不同類型之記憶體,包含揮發性記憶體及非揮發性記憶體。
揮發性記憶體需要電力來維持其資料,且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)或同步動態隨機存取記憶體(SDRAM)等。
非揮發性記憶體可在未供電時保持所儲存資料,且包含快閃記憶體、唯讀記憶體(ROM)、電可擦除可程式化ROM (EEPROM)、靜態RAM (SRAM)、可擦除可程式化ROM (EPROM)、電阻可變記憶體(諸如相變隨機存取記憶體(PCRAM)、電阻性隨機存取記憶體(RRAM)及磁阻性隨機存取記憶體(MRAM)或3D XPointTM
記憶體等。
快閃記憶體係作為非揮發性記憶體用於廣泛範圍之電子應用。快閃記憶體裝置通常包含容許高記憶體密度、高可靠性及低電力消耗之單電晶體、浮動閘極或電荷捕獲記憶體胞元之一或多個群組。
兩種常見類型之快閃記憶體陣列架構包含以各者之基本記憶體胞元組態配置成之邏輯形式命名之NAND及NOR架構。記憶體陣列之記憶體胞元通常配置成一矩陣。在一實例中,陣列之一列中之各浮動閘極記憶體胞元之閘極耦合至一存取線(例如,一字線)。在一NOR架構中,陣列之一行中之各記憶體胞元之汲極耦合至一資料線(例如,一位元線)。在一NAND架構中,陣列之一串中之各記憶體胞元之汲極串聯、源極至汲極耦合在一起,耦合於一源極線與一位元線之間。
NOR架構半導體記憶體陣列及NAND架構半導體記憶體陣列兩者係透過藉由選擇耦合至特定記憶體胞元之閘極之字線而啟動特定記憶體胞元之解碼器存取。在一NOR架構半導體記憶體陣列中,一旦經啟動,選定記憶體胞元便可將其等資料值放置於位元線上,從而取決於程式化一特定胞元之狀態而引起不同電流流動。在一NAND架構半導體記憶體陣列中,一高偏壓電壓經施加至一汲極側選擇閘極(SGD)線。耦合至各群組之未選定記憶體胞元之閘極之字線係以一指定通過電壓(例如,Vpass)驅動以將各群組之該等未選定記憶體胞元作為傳遞電晶體操作(例如,以不受其等儲存之資料值限制之一方式傳遞電流)。電流接著透過僅藉由各群組之選定記憶體胞元限制之各串聯耦合群組而自源極線流動至位元線,以將選定記憶體胞元之經電流編碼資料值放置於位元線上。
可將一NOR或NAND架構半導體記憶體陣列中之各快閃記憶體胞元個別地或共同地程式化為一個或數個程式化狀態。一單位階胞元(SLC)可表示兩個程式化狀態(例如,1或0)之一者(表示一個資料位元)。
然而,快閃記憶體胞元亦可表示兩個以上程式化狀態之一者,從而容許在不增加記憶體胞元之數目之情況下製造較高密度記憶體,因為各胞元可表示一個以上二進位數字(例如,一個以上位元)。此等胞元可被稱為多狀態記憶體胞元、多數字胞元或多位階胞元(MLC)。在某些實例中,MLC可係指每胞元可儲存兩個資料位元(例如,四個程式化狀態之一者)之一記憶體胞元,三位階胞元(TLC)可係指每胞元可儲存三個資料位元(例如,八個程式化狀態之一者)之一記憶體胞元,且四位階胞元(QLC)可每胞元儲存四個資料位元。MLC在本文中以其更廣泛背景內容使用以可指代每胞元可儲存一個以上資料位元(即,可表示兩個以上程式化狀態)之任何記憶體胞元。
傳統記憶體陣列係配置於一半導體基板之一表面上之二維(2D)結構。為針對一給定區域增加記憶體容量並降低成本,已減小個別記憶體胞元之大小。然而,對於減小個別記憶體胞元之大小及因此2D記憶體陣列之記憶體密度存在一技術限制。作為回應,正開發三維(3D)記憶體結構(諸如3D NAND架構半導體記憶體裝置)以進一步增加記憶體密度及降低記憶體成本。
此等3D NAND裝置通常包含串聯(例如,汲極至源極)耦合於接近一源極之一或多個源極側選擇閘極(SGS)與接近一位元線之一或多個汲極側選擇閘極(SGD)之間的儲存胞元串。在一實例中,該等SGS或SGD可包含一或多個場效電晶體(FET)或金屬氧化物半導體(MOS)結構裝置等。在一些實例中,該等串將垂直延伸通過含有各自字線之多個垂直間隔層。一半導體結構(例如,一多晶矽結構)可鄰近一串儲存胞元延伸以形成用於該串之該等儲存胞元之一通道。在一垂直串之實例中,該多晶矽結構可呈一垂直延伸柱之形式。在一些實例中,該串可經「折疊」,且因此相對於一U形柱配置。在其他實例中,多個垂直結構可堆疊於彼此之上以形成儲存胞元串之堆疊陣列。
記憶體陣列或裝置可組合在一起以形成一記憶體系統之一一儲存磁碟區,諸如一固態磁碟機(SSD)、一通用快閃儲存(UFS™)裝置、一多媒體卡(MMC)固態儲存裝置、一嵌入式MMC裝置(eMMC™)等。一SSD尤其可用作在例如效能、大小、重量、耐久性、操作溫度範圍及電力消耗方面具有優於具有移動零件之傳統硬碟機之優點之一電腦之主儲存裝置。例如,SSD可具有與磁碟機相關聯之減少之搜尋時間、延時或其他延遲(例如,機電延遲等)。SSD使用非揮發性記憶體胞元(諸如快閃記憶體胞元)以消除內部電池供應要求,從而容許磁碟機更通用及緊緻。
一SSD可包含數個記憶體裝置(包含數個晶粒或邏輯單元(例如,邏輯單元號或LUN)),且可包含執行操作該等記憶體裝置或與外部系統介接所需之邏輯功能之一或多個處理器或其他控制器。此等SSD可包含一或多個快閃記憶體晶粒,包含數個記憶體陣列及其上之周邊電路系統。該等快閃記憶體陣列可包含組織成數個實體頁之數個記憶體胞元區塊。在許多實例中,SSD亦將包含DRAM或SRAM (或其他形式之記憶體晶粒或其他記憶體結構)。SSD可自一主機接收與記憶體操作相關聯之命令,該等記憶體操作諸如在記憶體裝置與主機之間傳送資料(例如,使用者資料及相關聯完整性資料,諸如錯誤資料及位址資料等)之讀取或寫入操作,或自記憶體裝置擦除資料之擦除操作。
在一些實施例中,一種用於經管理NAND裝置中之主機加速操作之NAND裝置包括:一NAND陣列;及一控制器,其用以:接收包含一邏輯位址及一實體位址之一讀取請求;從該NAND陣列擷取對應於該實體位址之一驗證分量;使用該邏輯位址、該實體位址及該驗證分量運算該讀取請求之一驗證;基於該驗證修改一讀取操作。
在一些實施例中,一種用於經管理NAND裝置中之主機加速操作之方法包括:在一NAND裝置之一控制器處接收一讀取請求,該讀取請求包含一邏輯位址及一實體位址;從該NAND裝置之一NAND陣列擷取對應於該實體位址之一驗證分量;使用該邏輯位址、該實體位址及該驗證分量運算該讀取請求之一驗證;基於該驗證修改一讀取操作。
在一些實施例中,至少一種電腦可讀媒體包含用於經管理NAND裝置中之主機加速操作之指令,該等指令在由處理電路系統執行時引起該處理電路系統執行包括以下各者之操作:在一NAND裝置之一控制器處接收一讀取請求,該讀取請求包含一邏輯位址及一實體位址;從該NAND裝置之一NAND陣列擷取對應於該實體位址之一驗證分量;使用該邏輯位址、該實體位址及該驗證分量運算該讀取請求之一驗證;基於該驗證修改一讀取操作。
許多儲存裝置(諸如快閃裝置)使用轉譯表以將邏輯元件(例如,頁或區塊)映射至邏輯元件之實體等效物。此容許裝置之控制器執行各種技術以增加裝置之儲存元件之效能或耐久性。例如,NAND快閃胞元經歷寫入或擦除循環之實體損耗。此外,此等裝置需要每次擦除許多元件(例如,區塊擦除)。為解決此等問題,控制器通常圍繞可用胞元展開寫入(例如,減少此等胞元之損耗)且從區塊遷移良好頁以擦除區塊且因此釋放額外空間。在兩種情況中,一給定頁或區塊之一主機位址可為恆定的,即使其所指代之資料憑藉轉譯表移動至不同實體頁或區塊。
通常將轉譯表載入至控制器之一內部記憶體中。若表大小大於內部記憶體(例如,在隨機存取記憶體(RAM)中,諸如控制器之動態RAM (DRAM)或靜態RAM (SRAM)),則將表之一部分載入至內部記憶體中且將表之其餘部分儲存於其他儲存器(諸如NAND快閃陣列元件)中。若一轉譯請求(例如,一邏輯至實體(L2P)映射)不在內部記憶體中,則控制器用來自其他儲存器之適當部分取代表之內部記憶體部分。此程序可在執行操作(諸如讀取或寫入至儲存裝置)時增加延時。儘管增加內部記憶體可減少此等發生,然此帶來一給定應用無法接受之一製造及功率成本。
為解決將轉譯表之部分交換至內部記憶體中及從內部記憶體換出之問題,可將轉譯表遞送至一主機(具有可能大於儲存裝置之記憶體資源),從而容許主機指示一給定操作應用哪一實體位址。針對電子裝置工程聯合委員會(JEDEC)通用快閃儲存(UFS)版本3.0主機感知效能提升器(HPB)標準提出此一技術,其係經管理NAND中之主機加速操作之一形式。在此配置中,控制器最終負責維持轉譯表且用轉譯表之改變更新主機,但主機實際上為控制器提供待操作之實體位址。此處,控制器可避免在實際上執行一操作時參考轉譯表,從而在執行操作時增加效率或減小延時。
當前HPB提議包含若干缺點。例如,主機記憶體在控制器之控制之外。因此,主機對L2P映射之操縱可規避由控制器實施之資料保護。因此,主機之惡意或缺陷軟體可以在控制器僅依靠其內部轉譯表時不可能之方式損毀儲存裝置上之資料。
需要利用HPB之優點同時亦驗證資料、防止重播攻擊、防止資料之未授權修改且可能保護儲存裝置之專屬操作之一技術,諸如損耗平衡技術。可藉由使用來自一請求之一邏輯及實體位址對運算該請求之一驗證而達成此等目標。可針對驗證之一儲存版本檢查此驗證以判定該驗證是否通過。例如,當執行一寫入時,控制器將具有一L2P映射。控制器可雜湊邏輯位址及實體位址且儲存結果。在寫入資料之一隨後讀取時,主機從由主機保持之轉譯表複本提供邏輯及實體位址。控制器可雜湊所提供之邏輯及實體位址以產生一測試雜湊,讀取在執行寫入時儲存之雜湊,且在雜湊匹配時驗證請求係正確的。若雜湊不匹配,則控制器可使用內部轉譯表以查找所提供邏輯位址之正確實體位址且提供正確資料。因此,控制器在所提供L2P對正確時實施HPB之效能增強,且在存在一問題時(例如,經由錯誤或惡意)適度地回退於傳統轉譯表查找上。
可將額外資訊應用至驗證以提供額外功能性。例如,可用L2P映射雜湊一序列號碼以防止重播攻擊。再者,實際實體位址本身可經加密,使得主機從由控制器提供之轉譯表提供加密實體位址。控制器解密實體位址以在不參考轉譯表之情況下確定實體位址。以此方式,控制器可混淆來自主機之L2P映射之內部操作以保全專屬技術同時仍享用HPB之增強效能。下文描述額外細節及實例。
本文中論述之採用轉譯表修改之裝置可適合許多應用。電子裝置(諸如行動電子裝置(例如,智慧型電話、平板電腦等)、用於汽車應用中之電子裝置(例如,汽車感測器、控制單元、駕駛輔助系統、乘客安全或舒適系統等),及網際網路連接設備或裝置(例如,物聯網(IoT)裝置等))尤其取決於電子裝置之類型、使用環境、效能預期等以及其他方面而具有變化儲存需求。
電子裝置可分成若干主要組件:一處理器(例如,一中央處理單元(CPU)或其他主處理器);記憶體(例如,一或多個揮發性或非揮發性RAM記憶體裝置,諸如DRAM、行動或低功率雙倍資料速率同步DRAM (DDR SDRAM)等);及一儲存裝置(例如,非揮發性記憶體(NVM)裝置,諸如快閃記憶體、唯讀記憶體(ROM)、一SSD、一MMC或其他記憶卡結構或總成等)。在某些實例中,電子裝置可包含一使用者介面(例如,一顯示器、觸控螢幕、鍵盤、一或多個按鈕等)、一圖形處理單元(GPU)、一電力管理電路、一基頻處理器或一或多個收發器電路等。
圖1繪示包含經組態以經由一通信介面通信之一主機裝置105及一記憶體裝置110之一環境100的一實例。主機裝置105或記憶體裝置110可包含於各種產品150(諸如物聯網(IoT)裝置(例如,一冰箱或其他設備、感測器、馬達或致動器、行動通信裝置、汽車、無人機等))中以支援產品150之處理、通信或控制。
記憶體裝置110包含一記憶體控制器115及包含例如數個個別記憶體晶粒(例如,三維(3D) NAND晶粒之一堆疊)之一記憶體陣列120。在3D架構半導體記憶體技術中,堆疊垂直結構,從而增加階層、實體頁之數目及因此一記憶體裝置(例如,一儲存裝置)之密度。在一實例中,記憶體裝置110可為一離散記憶體或主機裝置105之儲存裝置組件。在其他實例中,記憶體裝置110可為與主機裝置105之一或多個其他組件堆疊或以其他方式一起包含之一積體電路之一部分(例如,一系統單晶片(SOC)等)。
一或多個通信介面可用於在記憶體裝置110與主機裝置105之一或多個其他組件之間傳送資料,諸如一串列進階附接技術(SATA)介面、一周邊組件快速互連(PCIe)介面、一通用串列匯流排(USB)介面、一通用快閃儲存(UFS)介面、一eMMC™介面,或一或多個其他連接器或介面。主機裝置105可包含一主機系統、一電子裝置、一處理器、一記憶卡讀取器,或在記憶體裝置110外部之一或多個其他電子裝置。在一些實例中,主機105可為具有參考圖8之機器800所論述之組件之某部分或全部之一機器。
記憶體控制器115可自主機105接收指令,且可與記憶體陣列120通信(諸如)以傳送(例如,寫入或擦除)資料至記憶體陣列120之記憶體胞元、平面、子區塊、區塊或頁之一或多者或自記憶體陣列120之記憶體胞元、平面、子區塊、區塊或頁之一或多者傳送(例如,讀取)資料。記憶體控制器115可尤其包含電路系統或韌體(包含一或多個組件或積體電路)。例如,記憶體控制器115可包含經組態以控制跨記憶體陣列120之存取及提供主機105與記憶體裝置110之間的一轉譯層之一或多個記憶體控制單元、電路或組件。
關於轉譯,記憶體控制器115可實施HPB之一技術。為實施HPB,記憶體控制器115經配置以從主機105接收包含一邏輯位址及一實體位址之一讀取請求。提供實體位址之主機105容許記憶體控制器115避免在內部參考L2P映射。在一實例中,讀取請求包含一符記。此處,符記係除實體位址、邏輯位址或存在於一傳統讀取請求中之其他資料以外的一筆資料。在一實例中,由包含一種值、實體位址及邏輯位址之一組輸入產生符記。在一實例中,種值係NAND控制器之一私密密鑰。在一實例中,符記係該組輸入之一雜湊。因此,符記涵蓋唯一地識別一L2P映射以及主機105未知之一量(例如,私密密鑰)之元素以提供針對來自主機105之不正確L2P映射之額外保護。在一實例中,該組輸入包含一計數器值。藉由添加計數器值(例如,一單調增加或減小計數器),符記對於一特定L2P映射在時間上係唯一的。此可用於防止可已從一先前寫入獲得一L2P映射符記之主機105上之惡意軟體之重播攻擊。在一實例中,計數器值係NAND裝置之一NAND陣列之一後設資料序列號碼。此提供跨全部操作之一共同計數器源之一益處。在一實例中,隨著計數器增加,符記經更新且(例如,經由一UPIU命令回應、狀態訊息等)傳達至主機105。
記憶體控制器115經配置以從請求擷取對應於實體位址之一驗證分量。驗證分量經儲存於NAND陣列120中。驗證分量係如下文描述般用於驗證讀取請求中之L2P映射係有效(例如,正確)之一資料結構。在一實例中,驗證分量經儲存於實體位址在NAND陣列120中所屬之一區塊之一區塊標頭中。因此,若實體位址係NAND陣列120之一第二區塊中之一第一頁,則驗證分量經儲存於第二區塊之區塊標頭中。在一實例中,驗證分量包含在最後寫入對應於實體位址之一NAND陣列組件時儲存於NAND陣列中之一最後符記。在一實例中,驗證分量包含在最後寫入對應於實體位址之NAND陣列組件時儲存於NAND陣列中之一最後邏輯位址。此最後兩個實例繪示驗證分量可隨時間改變,使得一實體位址之一給定驗證分量係當前的直至重寫(例如,擦除且接著寫入)實體位址。因此,符記(例如,實體位址及一邏輯位址之一雜湊)驗證分量將隨映射至相同實體位址之各新邏輯位址或隨各新序列號碼、種值等改變,即使L2P映射未改變。
記憶體控制器115經配置以使用邏輯位址、實體位址及驗證分量運算讀取請求之一驗證。經運算驗證係通過或失敗之一者。在一實例中,運算驗證包含在最後符記相同於來自讀取請求之符記時指示驗證通過,否則指示驗證失敗。在此實例中,驗證分量係對應於位址且儲存於陣列120中之一符記。比較驗證分量符記(例如,最後符記)與包含於請求中之符記。若其等相同,則驗證通過,否則驗證失敗。
在一實例中,運算驗證包含在最後邏輯位址相同於來自讀取請求之邏輯位址時指示驗證通過,否則指示驗證失敗。此實例容許省略讀取請求中之符記且仍能夠使邏輯位址與實體位址配對以確定請求是否適當。該技術可行,因為在控制器115嘗試實施損耗平衡、錯誤校正或類似物時,任何給定寫入通常將產生邏輯及實體位址之一唯一組合。由於對應於實體位址之邏輯位址在寫入時儲存於陣列120中,所以可比較隨後讀取請求中提供之邏輯位址與所儲存邏輯位址。若存在一差異,則驗證不通過。
在一實例中,運算驗證包含在最後符記相同於來自讀取請求之符記且最後邏輯位址相同於來自讀取請求之邏輯位址時指示驗證通過,否則指示驗證失敗。此實例係符記及邏輯位址驗證之一組合。
控制器115經配置以基於驗證修改一讀取操作。此處,讀取操作係回應於或執行讀取請求。修改在一通過驗證與一失敗驗證之間不同。若驗證失敗,則改變HPB讀取操作以忽略讀取請求中提供之實體位址且代替地使用記憶體控制器之L2P表以將來自讀取請求之邏輯位址映射至另一(例如,一正確或實際)實體位址。記憶體控制器115使用此正確實體位址完成讀取請求。此技術在不損害裝置110執行其資料儲存之能力及主機105之擷取作用之情況下保護資料完整性免受來自主機105之惡意或錯誤L2P資訊影響。
為有效地使用儲存及匯流排帶寬資源,實際符記產生技術可缺乏真正加密安全性。例如,產生符記之雜湊可使用一加密技術(諸如SHA-256),但可經調適以適合少於128個位元。在此實例中,加密功效可大幅減小,此係因為一典型現代電腦可在一短時間(例如,約幾毫秒)內產生32位元空間之每一值。此可容許一攻擊者重複產生且「嘗試」讀取請求中之不同符記直至驗證通過,即使在所提供實體位址不匹配所提供邏輯位址時。為解決此問題,在一實例中,記憶體控制器115經配置以延遲完成讀取請求。延遲係一記憶體控制器115強加之延時。延遲可為固定的或可隨時間或失敗驗證次數而改變(例如,嘗試猜測符記)。在一實例中,延遲完成讀取請求包含基於失敗驗證之一歷史增加一延遲。添加延遲增加一惡意行動者「猜測」正確符記之成本,從而使此一蠻力攻擊通常變得不切實際。
若驗證通過,則記憶體控制器115經配置以在不諮詢其自身版本之L2P表之情況下使用讀取請求中提供之實體位址完成讀取請求。因此,實施HPB,從而修改其中始終參考由記憶體控制器115維持之L2P映射之傳統讀取操作。
記憶體控制器115之上述操作示範一符記或邏輯及實體位址配對之使用以判定主機105請求是否有效。記憶體控制器115亦可提供主機執行有效讀取請求所需之資料。例如,記憶體控制器115經配置以產生符記,在(例如)由主機105或以其他方式請求之一寫入操作(例如,作為裝置110維護(諸如廢棄項目收集、錯誤校正等)之部分執行之一寫入)之後,將L2P映射或經更新轉譯表提供至主機105。因此,記憶體控制器115經配置以接收一實體位址之一寫入請求(具有係寫入目標之一邏輯位址),自邏輯位址運算寫入請求之驗證分量,且執行寫入請求(例如,寫入操作)。此處,作為寫入操作之部分,記憶體控制器115經配置以亦將驗證分量寫入至NAND陣列120。因此,在執行寫入時,產生且儲存可用於未來之讀取驗證的驗證分量。在一實例中,未儲存驗證分量本身而是儲存符記或用於運算驗證分量的其他元素。因此,可以重新計算各讀取請求之驗證分量為代價來儲存一較小值(例如,符記)以節省空間。在一實例中,記憶體控制器115經配置以將作為運算驗證之部分而經運算的符記傳回至寫入請求之一請求者(例如,主機105或在其上運行之一應用程式)。請求者接著負責將正確符記用於隨後請求。
與一外部實體(諸如主機105)共用轉譯表之一缺點係可能揭示專屬技術(諸如磨損平衡)。例如,藉由觀察隨時間改變之邏輯及實體位址關係,主機105可判定所選擇實體位址之一型樣、內部資料移動之時序等。然而,不可能僅避免與主機105共用此等更新,此係因為主機105將在其請求中提供不正確實體位址,從而導致資料損毀或需要記憶體控制器115回退於其自身L2P映射上以判定正確實體位址。
解決此問題之一技術涉及將不同於實際實體位址(例如,一內部實體位址)但容許導出實際實體位址之一外部實體位址提供至主機105。因此,在一實例中,於讀取請求中提供之實體位址係經組態以在一操作下產生一內部實體位址之一外部實體位址。此處,內部實體位址表示一組NAND陣列組件(例如,胞元、頁、區塊、晶粒等)。在一實例中,該操作係用記憶體控制器115之一密鑰的解密。因此,用僅為記憶體控制器115所知之一密鑰來加密遞送至主機105之實體位址。當主機105在其請求中提供該實體位址時,記憶體控制器115用密鑰來解密外部實體位址以產生內部實體位址。此技術混淆陣列120之實際實體位址關係,同時仍避免必須求助於L2P映射查找,因為簡單解密操作提供外部實體位址與內部實體位址之間的關係。在一實例中,用由記憶體控制器115儲存之一方差來週期性地重新加密外部實體位址。在一實例中,可不儲存方差,而代替地採用一對話密鑰、對話種值或類似物的形式。此等實例導致相同內部實體位址之一經改變外部實體位址。此一技術進一步混淆外部實體位址與內部實體位址之間的關係。在一實例中,記憶體控制器115經配置以回應於經改變外部實體位址而在一狀態訊息中傳輸一經更新L2P表。在一實例中,狀態訊息係從一主機105傳回一請求的部分。更新主機105對轉譯表之改變容許上文描述的HPB效率。回應於主機105請求而提供更新可提供已藉由具備HPB能力之主機實施之一方便傳訊機制。
記憶體管理器125尤其可包含電路系統或韌體,諸如與各種記憶體管理功能相關聯之數個組件或積體電路。出於本發明描述之目的,例示性記憶體操作及管理功能將在NAND記憶體之背景內容中描述。熟習此項技術者將認知,其他形式之非揮發性記憶體可具有類似記憶體操作或管理功能。此等NAND管理功能包含損耗平衡(例如,廢棄項目收集或回收)、錯誤偵測或校正、區塊引退(retirement),或一或多個其他記憶體管理功能。記憶體管理器125可將主機命令(例如,自一主機接收之命令)剖析或格式化成裝置命令(例如,與一記憶體陣列之操作相關聯之命令等),或產生用於陣列控制器135或記憶體裝置110之一或多個其他組件之裝置命令(例如,以完成各種記憶體管理功能)。
記憶體管理器125可包含經組態以維持與記憶體裝置110之一或多個組件相關聯之各種資訊(例如,與耦合至記憶體控制器115之一記憶體陣列或一或多個記憶體胞元相關聯之各種資訊)之一組管理表130。例如,管理表130可包含關於耦合至記憶體控制器115之記憶體胞元之一或多個區塊之區塊年限、區塊擦除計數、錯誤歷史或一或多個錯誤計數(例如,一寫入操作錯誤計數、一讀取位元錯誤計數、一讀取操作錯誤計數、一擦除錯誤計數等)之資訊。在某些實例中,若錯誤計數之一或多者之經偵測錯誤之數目高於一臨限值,則位元錯誤可被稱為一不可校正位元錯誤。管理表130尤其可維持可校正或不可校正位元錯誤之一計數。在一實例中,管理表130可包含轉譯表或一L2P映射。
陣列控制器135尤其可包含經組態以控制與將資料寫入至耦合至記憶體控制器115之記憶體裝置110之一或多個記憶體胞元、自該一或多個記憶體胞元讀取資料或擦除該一或多個記憶體胞元相關聯之記憶體操作之電路系統或組件。該等記憶體操作可基於(例如)自主機105接收或在內部藉由記憶體管理器125產生(例如,與損耗平衡、錯誤偵測或校正等相關聯)之主機命令。
陣列控制器135可包含一錯誤校正碼(ECC)組件140,ECC組件140尤其可包含經組態以偵測或校正與將資料寫入至耦合至記憶體控制器115之記憶體裝置110之一或多個記憶體胞元或自該一或多個記憶體胞元讀取資料相關聯之錯誤的一ECC引擎或其他電路系統。記憶體控制器115可經組態以主動地偵測與資料之各種操作或儲存相關聯之錯誤發生(例如,位元錯誤、操作錯誤等)及自該等錯誤發生恢復,同時維持在主機105與記憶體裝置110之間傳送之資料之完整性,或維持經儲存資料之完整性(例如,使用冗餘RAID儲存等),且可移除(例如,引退)失效記憶體資源(例如,記憶體胞元、記憶體陣列、頁、區塊等)以防止未來錯誤。
記憶體陣列120可包含配置成(例如)數個裝置、平面、子區塊、區塊或頁之若干記憶體胞元。作為一實例,一48 GB TLC NAND記憶體裝置可包含每頁18,592個資料位元組(B) (16,384 + 2208個位元組)、每區塊1536頁、每平面548個區塊及每裝置4個或4個以上平面。作為另一實例,一32 GB MLC記憶體裝置(每胞元儲存兩個資料位元(即,4個可程式化狀態))可包含每頁18,592個資料位元組(B) (16,384 + 2208個位元組)、每區塊1024頁、每平面548個區塊及每裝置4個平面,但具有一對應TLC記憶體裝置之一半所需寫入時間及兩倍程式化/擦除(P/E)循環。其他實例可包含其他數目或配置。在一些實例中,一記憶體裝置或其之一部分可選擇性地在SLC模式或在一所要MLC模式(諸如TLC、QLC等)中操作。
在操作中,資料通常以頁寫入至NAND記憶體裝置110或自NAND記憶體裝置110讀取,且以區塊擦除。然而,一或多個記憶體操作(例如,讀取、寫入、擦除等)可視需要對較大或較小群組之記憶體胞元執行。一NAND記憶體裝置110之資料傳送大小通常被稱為一頁,而一主機之資料傳送大小通常被稱為一區段。
儘管一資料頁可包含使用者資料(例如,包含數個資料區段之一資料酬載)及其對應後設資料之數個位元組,然該頁之大小通常僅係指用於儲存該使用者資料之位元組之數目。作為一實例,具有4 KB之一頁大小之一資料頁可包含4 KB之使用者資料(例如,呈現512 B之一區段大小之8個區段)以及對應於該使用者資料之數個位元組(例如,32 B、54 B、224 B等)之後設資料,諸如完整性資料(例如,錯誤偵測或校正碼資料)、位址資料(例如,邏輯位址資料等)或與使用者資料相關聯之其他後設資料。
不同類型之記憶體胞元或記憶體陣列120可提供不同頁大小,或可需要與其相關聯之不同量之後設資料。例如,不同記憶體裝置類型可具有不同位元錯誤率,此可導致確保該頁資料之完整性所需之不同量之後設資料(例如,具有一較高位元錯誤率之一記憶體裝置與具有一較低位元錯誤率之一記憶體裝置相比可需要更多位元組之錯誤校正碼資料)。作為一實例,一多位階胞元(MLC) NAND快閃裝置可具有高於一對應單位階胞元(SLC) NAND快閃裝置之一位元錯誤率。因而,與對應SLC裝置相比,MLC裝置可需要更多後設資料位元組用於錯誤資料。
圖2繪示執行一讀取請求之一實例。如繪示,主機210包含用於L2P映射之轉譯表225之一完全可用複本。記憶體裝置205包含相同轉譯表220,惟僅轉譯表220之一部分可用於記憶體裝置205除外。轉譯表220之陰影映射目前不可用於記憶體裝置110 (例如,載入至記憶體裝置110之RAM中),而是儲存於記憶體裝置205之較慢儲存器(例如,NAND胞元)中。
如繪示,主機210作出一讀取請求215,其包含一邏輯位址(LA)、實體位址(PA) (其藉由參考轉譯表225而判定)及一符記之全部。符記可保持在轉譯表225中或在主機105指導下保持在另一位置中。在所繪示之實例中,記憶體裝置205使用讀取請求中之資訊驗證請求之正確性(例如,LA與PA匹配、符記匹配用PA儲存之一符記或兩者)且在不參考轉譯表220之情況下執行讀取。在此案例中,若讀取邏輯位址「A」,則上述操作將減少執行讀取時之處理,此係因為記憶體裝置205將不必將轉譯表220之陰影部分載入至工作記憶體(例如,RAM)中以便判定正在讀取實體位址「AA」處之資料。
圖3繪示執行一寫入請求之一實例。此處,記憶體裝置305已將邏輯位址「C」之實體位址更新為「XX」。在轉譯表320中之元素340處反映此改變。然而,由主機310保持之轉譯表325之對應元素350尚未反映正確映射(例如,轉譯表325係陳舊的)。為校正此,記憶體裝置305經由回應於寫入請求而產生之一狀態訊息315將具有經校正項目345之一複製轉譯表335提供至主機310。主機310可接著更新其轉譯表325以用於未來請求。
如上文提及,記憶體裝置305可產生對應於經更新項目340之一符記。在例如此符記不包含於轉譯表335中時,亦在狀態請求中傳輸此符記。在一實例中,在產生符記時使用記憶體裝置305之一計數器330。如上文提及,此可防禦符記方案之重播攻擊。
圖4繪示加密實體位址之一實例。此處,記憶體裝置405之轉譯表420包含內部實體位址至邏輯位址映射且主機410之轉譯表425包含外部實體位址至相同邏輯位址映射。記憶體裝置405經由一狀態訊息415或其他記憶體裝置405至主機410通信傳達表435中之外部實體位址映射。如上文提及,為避免查找本地轉譯表420,可由記憶體裝置405使用外部實體位址以直接導出內部實體位址。完成此直接導出之一技術係用由記憶體裝置405保持之一密鑰430對稱地加密表420之內部實體位址。經加密位址以更新表435傳達至主機410。主機410從未解密外部實體位址,而是根據HPB使用其等以指示一操作所屬之實體位址。記憶體裝置405接著使用密鑰430解密一請求(例如,一讀取或寫入請求)中之外部實體位址,外部實體位址之經解密形式係內部實體位址。
此技術可隨時間用一種值、不同密鑰擴增以提供相同內部實體位址之不同外部位址。只要內部導出元素(例如,密鑰、序列號碼、隨機種值等)與主機轉譯表425同步,記憶體裝置405便可從由主機410提供之外部實體位址直接導出內部實體位址。因此,如繪示,表420中之邏輯位址「C」之內部實體位址係「CC」。位址「CC」之一先前加密產生「KK」,如針對表425中之邏輯位址「C」展示。然而,導出元素之一改變(例如,一改變密鑰、新種值等)現已引起「CC」針對邏輯元素「C」加密為「WW」,其以表435中之狀態訊息415傳達至主機410。一旦接收,表435將由主機410使用以更新其自身表425以用於未來請求。
圖5A至圖5B繪示一頁中之一驗證分量之儲存組態。圖5A繪示其中預留該頁之一專用部分以用於控制器後設資料之一組織。因此,該頁分為使用者資料部分505及輔助位元組部分510。驗證分量可經儲存於輔助位元組部分中,諸如標記為「INFO」之片段中。相比之下,圖5B繪示其中輔助位元組經散置遍及使用者資料片段從而導致一異質部分515之一替代組織。然而,「INFO」輔助位元組520仍定位於該頁上且可在最終寫入其時儲存該頁之驗證分量。可用於儲存驗證分量之其他位置包含經保留用於裝置管理之記憶體裝置之區塊標頭或區域。然而,將驗證分量儲存於一頁中之一優點包含讀取效率。為執行驗證,記憶體裝置之控制器讀取驗證分量。若控制器將執行讀取,則控制器讀取對應於讀取之資料。在讀取資料的同時讀取驗證分量時可消除此雙重讀取。因此,控制器將資料讀取至一緩衝器中,宛如其將不執行驗證。亦在此操作期間讀取驗證分量(例如,同時讀取包含使用者資料505及輔助資料510之整頁505)。控制器接著執行驗證且在驗證通過時釋放經緩衝使用者資料,避免此案例中之額外讀取。若驗證未通過,則控制器將執行額外讀取(至少在參考其自身轉譯表之後讀取正確實體位址處之資料)以滿足請求。然而,此案例之效率不低於一標準非HPB操作,且僅在由故障或惡意實體產生請求時才會被期望。
圖6繪示用於經管理NAND裝置中之HPB之一方法600之一流程圖。由諸如上文及下文描述之電子硬體(例如,電路系統)執行方法600之操作。
在操作605,在一NAND裝置之一控制器處接收一讀取請求。此處,讀取請求包含一邏輯位址及一實體位址。在一實例中,讀取請求包含一符記。在一實例中,由包含一種值、實體位址及邏輯位址之一組輸入產生符記。在一實例中,種值係NAND控制器之一私密密鑰。在一實例中,符記係該組輸入之一雜湊。在一實例中,該組輸入包含一計數器值。在一實例中,計數器值係NAND裝置之一NAND陣列之一後設資料序列號碼。
在操作610,從NAND陣列擷取對應於實體位址之一驗證分量。在一實例中,驗證分量經儲存於實體位址在NAND陣列中所屬之一區塊之一區塊標頭中。在一實例中,驗證分量包含在最後寫入對應於實體位址之一NAND陣列組件時儲存於NAND陣列中之一最後符記。在一實例中,驗證分量包含在最後寫入對應於實體位址之NAND陣列組件時儲存於NAND陣列中之一最後邏輯位址。
在操作615,使用邏輯位址、實體位址及驗證分量運算讀取請求之一驗證。在一實例中,運算驗證包含在最後符記相同於來自讀取請求之符記時指示驗證通過,否則指示驗證失敗。在一實例中,運算驗證包含在最後邏輯位址相同於來自讀取請求之邏輯位址時指示驗證通過,否則指示驗證失敗。在一實例中,運算驗證包含在最後符記相同於來自讀取請求之符記且最後邏輯位址相同於來自讀取請求之邏輯位址時指示驗證通過,否則指示驗證失敗。
在操作620,基於驗證修改一讀取操作。例如,在決策625,評估驗證是否通過或失敗。若驗證失敗,則在操作630,修改讀取操作包含使用NAND控制器之一L2P表以將來自讀取請求之邏輯位址映射至一第二實體位址,且使用第二實體位址完成讀取請求。在一實例中,完成讀取請求包含延遲完成讀取請求。在一實例中,延遲完成讀取請求包含基於失敗驗證之一歷史增加一延遲。
若決策625之驗證通過,則在操作635,修改讀取操作包含使用實體位址完成讀取請求而不諮詢NAND控制器之L2P表。
方法600可經延伸以包含在NAND控制器處接收針對實體位址之一寫入請求(具有係寫入目標之一邏輯位址),由邏輯位址運算寫入請求之驗證分量,且執行寫入請求(包含將驗證分量寫入至NAND陣列)。在一實例中,方法600包含將作為運算驗證之部分而運算之一符記傳回至寫入請求之一請求者之一操作。
在一實例中,實體位址係經組態以在一操作下產生一內部實體位址之一外部實體位址。此處,內部實體位址表示一組NAND陣列組件。在一實例中,用NAND控制器之一密鑰解密操作。在一實例中,用由NAND控制器儲存之一方差週期性地重新加密外部實體位址。此導致內部實體位址之一經改變外部實體位址。在一實例中,回應於經改變外部實體位址而在一狀態訊息中傳輸一更新L2P表。此處,狀態訊息係從一主機傳回一請求至NAND裝置之部分。
圖7繪示用於經管理NAND裝置中之主機加速操作之一方法700之一流程圖。由諸如上文及下文描述之電子硬體(例如,電路系統)執行方法700之操作。
方法700之操作類似於上文描述之方法600之操作。一差異係在擷取驗證分量時讀取之資料量。因此,當接收一讀取請求(操作705)時,讀取讀取請求中指定之資料(例如,不使用NAND裝置之L2P映射)以及驗證分量(操作710)。使用驗證分量以運算讀取請求之驗證(操作715),其結果修改讀取操作(操作720)。測試讀取請求驗證(決策725)。當其通過時,將已讀取資料傳回至請求者(操作735)。然而,若驗證未通過,則針對對應於讀取請求中之邏輯位址之實際實體位址諮詢NAND裝置之L2P表,且從正確實體位址重讀資料且接著將資料傳回至請求者(操作730)。此技術之一優點係當讀取有效時減小延時,此通常係測試之可能結果(決策725)。
圖8繪示其上可執行本文中所論述之技術(例如,方法論)之任一或多者之一例示性機器800的一方塊圖。在替代性實施例中,機器800可作為一獨立裝置操作或可連接(例如,網路連接)至其他機器。在一網路連接部署中,機器800可作為一伺服器-客戶端網路環境中之一伺服器機器或一客戶端機器或兩者而操作。在一實例中,機器800可充當一同級間(P2P) (或其他分散式)網路環境中之一同級機器。機器800可為一個人電腦(PC)、一平板電腦PC、一機上盒(STB)、一個人數位助理(PDA)、一行動電話、一網路設備、一IoT裝置、汽車系統,或能夠(循序或以其他方式)執行指定由該機器所採取之行動之指令之任何機器。此外,雖然僅繪示一單個機器,但術語「機器」亦應被視為包含個別或聯合執行一(或多個)指令集以執行本文中所論述之方法論之任一或多者(諸如雲端運算、軟體即服務(SaaS)、其他電腦叢集組態)之機器之任何集合。
如本文中所描述,實例可包含邏輯、組件、裝置、封裝或機構,或可藉由邏輯、組件、裝置、封裝或機構操作。電路系統係在包含硬體(例如,簡單電路、閘、邏輯等)之有形實體中實施之一電路集合(例如,一組電路)。電路系統成員資格可隨著時間及基礎硬體可變性而靈活。電路系統包含在操作時可單獨或組合地執行特定任務之成員。在一實例中,電路系統之硬體可經恆定地設計以實行一特定操作(例如,硬接線)。在一實例中,電路系統之硬體可包含可變連接之實體組件(例如,執行單元、電晶體、簡單電路等),包含實體上經修改(例如,不變質量之粒子磁性、電、可移動放置等)以編碼該特定操作之指令之一電腦可讀媒體。在連接實體組件中,硬體構成之基礎電性質(例如)自絕緣體改變至導體或反之亦然。指令使參與硬體(例如,執行單元或一負載機構)能夠經由可變連接產生硬體中之電路系統之成員以在操作中實行特定任務之部分。因此,當裝置操作時,電腦可讀媒體通信地耦合至電路系統之其他組件。在一實例中,實體組件之任一者可用於一個以上電路系統之一個以上成員中。例如,在操作下,執行單元可在一時間點用於一第一電路系統之一第一電路中且在一不同時間由第一電路系統中之一第二電路或由一第二電路系統中之一第三電路重用。
機器(例如,電腦系統) 800 (例如,主機裝置105、記憶體裝置110等)可包含一硬體處理器802 (例如,一中央處理單元(CPU)、一圖形處理單元(GPU)、一硬體處理器核心或其等之任何組合,諸如記憶體控制器115等)、一主記憶體804及一靜態記憶體806,其等中之一些或全部可經由一互連(例如,匯流排) 808彼此通信。機器800可進一步包含一顯示單元810、一文數字輸入裝置812 (例如,一鍵盤)及一使用者介面(UI)導覽裝置814 (例如,一滑鼠)。在一實例中,顯示單元810、輸入裝置812及UI導覽裝置814可為一觸控螢幕顯示器。機器800可另外包含一儲存裝置(例如,驅動單元) 821、一信號產生裝置818 (例如,一揚聲器)、一網路介面裝置820及一或多個感測器816 (諸如一全球定位系統(GPS)感測器、指南針、加速度計或其他感測器)。機器800可包含一輸出控制器828,諸如用以通信或控制一或多個周邊裝置(例如,一印表機、讀卡器等)之一串列(例如,通用串列匯流排(USB))、並列、或其他有線或無線(例如,紅外線(IR)、近場通信(NFC)等)連接。
儲存裝置821可包含其上儲存體現本文中所描述之技術或功能之任一或多者或由本文中所描述之技術或功能之任一或多者利用之一或多組資料結構或指令824 (例如,軟體)之一機器可讀媒體822。指令824亦可完全或至少部分駐留於主記憶體804內、靜態記憶體806內或在該等指令由機器800執行期間駐留於硬體處理器802內。在一實例中,硬體處理器802、主記憶體804、靜態記憶體806或儲存裝置821之一者或任何組合可構成機器可讀媒體822。
雖然機器可讀媒體822係繪示為一單個媒體,但術語「機器可讀媒體」可包含經組態以儲存一或多個指令824之一單個媒體或多個媒體(例如,一集中式或分散式資料庫或相關聯快取記憶體及伺服器)。
術語「機器可讀媒體」可包含能夠儲存、編碼或攜載藉由機器800執行且引起機器800執行本發明之技術之任一或多者之指令,或能夠儲存、編碼或攜載藉由此等指令使用或與此等指令相關聯之資料結構的任何媒體。非限制性機器可讀媒體實例可包含固態記憶體以及光學及磁性媒體。在一實例中,一集結型(massed)機器可讀媒體包括具有含不變(例如,靜止)質量之複數個粒子之一機器可讀媒體。因此,集結型機器可讀媒體並非係暫時性傳播信號。集結型機器可讀媒體之特定實例可包含:非揮發性記憶體,諸如半導體記憶體裝置(例如,電可程式化唯讀記憶體(EPROM)、電可擦除可程式化唯讀記憶體(EEPROM))及快閃記憶體裝置;磁碟,諸如內部硬碟及可抽換式磁碟;磁光碟;及CD-ROM及DVD-ROM磁碟。
指令824 (例如,軟體、程式、一作業系統(OS)等)或其他資料經儲存於儲存裝置821上,可藉由記憶體804存取以供處理器802使用。記憶體804 (例如,DRAM)通常係快速但揮發性的,且因此不同於儲存裝置821 (例如,一SSD)之一儲存類型,儲存裝置821適於長期儲存(包含在一「關閉」狀態時)。由一使用者或機器800使用之指令824或資料通常載入於記憶體804中以供處理器802使用。當記憶體804已滿時,可分配來自儲存裝置821之虛擬空間以補充記憶體804;然而,因為儲存裝置821通常慢於記憶體804,且寫入速度通常係讀取速度的至少1/2,所以使用虛擬記憶體可大大地減少歸因於儲存裝置延時之使用者體驗(相比於記憶體804,例如,DRAM)。此外,將儲存裝置821用於虛擬記憶體可大大地減少儲存裝置821之可用使用期限。
相比於虛擬記憶體,虛擬記憶體壓縮(例如,Linux®
內核特徵「ZRAM」)使用記憶體之部分作為經壓縮區塊儲存器以避免傳呼至儲存裝置821。傳呼在經壓縮區塊中發生直至必須將此資料寫入至儲存裝置821。虛擬記憶體壓縮增加記憶體804之可用大小,同時減少儲存裝置821上之損耗。
經最佳化用於行動電子裝置或行動儲存器之儲存裝置傳統上包含MMC固態儲存裝置(例如,微型安全數位(microSD™)卡等)。MMC裝置包含具有一主機裝置之數個平行介面(例如,一8位元平行介面),且通常為可自該主機裝置卸除及分離之組件。相比而言,eMMC™裝置經附接至一電路板且被視為主機裝置之一組件,該組件具有匹敵基於串列ATA™ (串列AT (進階技術)附接,或SATA)之SSD裝置之讀取速度。然而,對於行動裝置效能之需求持續增加,諸如完全啟用虛擬或擴增實境裝置,利用增加之網路速度等。回應於此需求,儲存裝置已自並列通信介面轉換至串列通信介面。通用快閃儲存(UFS)裝置(包含控制器及韌體)使用具有專用讀取/寫入路徑之一低電壓差動傳訊(LVDS)串列介面與一主機裝置通信,從而進一步提高更大讀取/寫入速度。
可進一步透過通信網路826,使用一傳輸媒體,經由利用數個傳送協定之任一者(例如,訊框中繼、網際網路協定(IP)、傳輸控制協定(TCP)、使用者資料塊協定(UDP)、超文字傳送協定(HTTP)等)的網路介面器件820來傳輸或接收指令824。例示性通信網路可包含一區域網路(LAN)、一廣域網路(WAN)、一封包資料網路(例如,網際網路)、行動電話網路(例如,蜂巢式網路)、簡易老式電話(POTS)網路,及無線資料網路(例如,電氣及電子工程師協會(IEEE) 802.11系列標準(稱為Wi-Fi®
)、IEEE 802.16系列標準(稱為WiMax®
)、IEEE 802.15.4系列標準、同級間(P2P)網路,等等)。在一實例中,網路介面裝置820可包含一或多個實體插孔(例如,乙太網路、同軸或電話插孔)或一或多個天線,以連接至通信網路826。在一實例中,網路介面器件820可包含複數個天線,以使用單輸入多輸出(SIMO)、多輸入多輸出(MIMO)或多輸入單輸出(MISO)技術之至少一者來進行無線通信。術語「傳輸媒體」應被視為包含能夠儲存、編碼或攜載由機器800執行之指令的任何無形媒體,且包含促進此軟體之通信的數位或類比通信信號或其他無形媒體。
額外實例:
實例1係一種用於經管理NAND裝置中之主機加速操作的NAND裝置,該NAND裝置包括:一NAND陣列;及一控制器,用以:接收包含一邏輯位址及一實體位址之一讀取請求;從該NAND陣列擷取對應於該實體位址之一驗證分量;使用該邏輯位址、該實體位址及該驗證分量來運算該讀取請求之一驗證;基於該驗證來修改一讀取操作。
在實例2中,實例1之標的物包含其中該驗證分量包含在最後寫入對應於該實體位址之一NAND陣列組件時儲存於該NAND陣列中之一最後邏輯位址。
在實例3中,實例2之標的物包含其中為運算該驗證,該控制器在該最後邏輯位址相同於來自該讀取請求之該邏輯位址時指示該驗證通過,否則指示該驗證失敗。
在實例4中,實例1至3之標的物包含其中該讀取請求包含一符記。
在實例5中,實例4之標的物包含其中該驗證分量包含在最後寫入對應於該實體位址之一NAND陣列組件時儲存於該NAND陣列中之一最後符記。
在實例6中,實例5之標的物包含其中為運算該驗證,該控制器在該最後符記相同於來自該讀取請求之該符記時指示該驗證通過,否則指示該驗證失敗。
在實例7中,實例5至6之標的物包含其中該驗證分量包含在最後寫入對應於該實體位址之該NAND陣列組件時儲存於該NAND陣列中之一最後邏輯位址。
在實例8中,實例7之標的物包含其中為運算該驗證,該控制器在該最後符記相同於來自該讀取請求之該符記及該最後邏輯位址相同於來自該讀取請求之該邏輯位址時指示該驗證通過,否則指示該驗證失敗。
在實例9中,實例4至8之標的物包含其中該符記係由包含一種值、該實體位址及該邏輯位址之一組輸入產生。
在實例10中,實例9之標的物包含其中該種值係該NAND裝置之一私密密鑰。
在實例11中,實例9至10之標的物包含其中該符記係該組輸入之一雜湊。
在實例12中,實例9至11之標的物包含其中該組輸入包含一計數器值。
在實例13中,實例12之標的物包含其中該計數器值係該NAND陣列之一後設資料序列號碼。
在實例14中,實例1至13之標的物包含其中該控制器進一步用以:在該NAND裝置處接收針對該實體位址之一寫入請求,該寫入請求包含一邏輯位址;自該邏輯位址運算該寫入請求之該驗證分量;及執行該寫入請求,包含將該驗證分量寫入至該NAND陣列。
在實例15中,實例14之標的物包含其中該控制器進一步將作為運算該驗證之部分而運算之一符記傳回至該寫入請求之一請求者。
在實例16中,實例1至15之標的物包含該驗證分量經儲存於該實體位址在該NAND裝置之該NAND陣列中所屬之一區塊之一區塊標頭中。
在實例17中,實例1至16之標的物包含其中該實體位址係經組態以在一操作下產生一內部實體位址之一外部實體位址,該內部實體位址表示一組NAND陣列組件。
在實例18中,實例17之標的物包含其中該操作用該NAND裝置之一密鑰解密。
在實例19中,實例18之標的物包含其中用由該NAND裝置儲存之一方差週期性地重新加密該外部實體位址,從而導致該內部實體位址之一經改變外部實體位址。
在實例20中,實例19之標的物包含其中該控制器進一步回應於該經改變外部實體位址而在一狀態訊息中傳輸一經更新邏輯至實體(L2P)表,該狀態訊息係從一主機傳回一請求至該NAND裝置之部分。
在實例21中,實例1至20之標的物包含其中為在該驗證指示其已失敗時基於該驗證修改該讀取操作,該控制器將:使用該NAND裝置之一邏輯至實體(L2P)表以將來自該讀取請求之該邏輯位址映射至一第二實體位址;及使用該第二實體位址完成該讀取請求。
在實例22中,實例21之標的物包含其中為完成該讀取請求,該控制器延遲完成該讀取請求。
在實例23中,實例22之標的物包含其中為延遲完成該讀取請求,該控制器基於失敗驗證之一歷史增加一延遲。
在實例24中,實例1至23之標的物包含其中為在該驗證指示其已通過時基於該驗證修改該讀取操作,該控制器使用該實體位址完成該讀取請求而不諮詢該NAND裝置之一邏輯至實體(L2P)表。
實例25係一種用於經管理NAND裝置中之主機加速操作之方法,該方法包括:在一NAND裝置之一控制器處接收一讀取請求,該讀取請求包含一邏輯位址及一實體位址;從該NAND裝置之一NAND陣列擷取對應於該實體位址之一驗證分量;使用該邏輯位址、該實體位址及該驗證分量運算該讀取請求之一驗證;基於該驗證修改一讀取操作。
在實例26中,實例25之標的物包含其中該驗證分量包含在最後寫入對應於該實體位址之一NAND陣列組件時儲存於該NAND陣列中之一最後邏輯位址。
在實例27中,實例26之標的物包含其中運算該驗證包含在該最後邏輯位址相同於來自該讀取請求之該邏輯位址時指示該驗證通過,否則指示該驗證失敗。
在實例28中,實例25至27之標的物包含其中該讀取請求包含一符記。
在實例29中,實例28之標的物包含其中該驗證分量包含在最後寫入對應於該實體位址之一NAND陣列組件時儲存於該NAND陣列中之一最後符記。
在實例30中,實例29之標的物包含其中運算該驗證包含在該最後符記相同於來自該讀取請求之該符記時指示該驗證通過,否則指示該驗證失敗。
在實例31中,實例29至30之標的物包含其中該驗證分量包含在最後寫入對應於該實體位址之該NAND陣列組件時儲存於該NAND陣列中之一最後邏輯位址。
在實例32中,實例31之標的物包含其中運算該驗證包含在該最後符記相同於來自該讀取請求之該符記及該最後邏輯位址相同於來自該讀取請求之該邏輯位址時指示該驗證通過,否則指示該驗證失敗。
在實例33中,實例28至32之標的物包含其中該符記係由包含一種值、該實體位址及該邏輯位址之一組輸入產生。
在實例34中,實例33之標的物包含其中該種值係該NAND控制器之一私密密鑰。
在實例35中,實例33至34之標的物包含其中該符記係該組輸入之一雜湊。
在實例36中,實例33至35之標的物包含其中該組輸入包含一計數器值。
在實例37中,實例36之標的物包含其中該計數器值係該NAND陣列之一後設資料序列號碼。
在實例38中,實例25至37之標的物包含在該NAND控制器處接收針對該實體位址之一寫入請求,該寫入請求包含一邏輯位址;自該邏輯位址運算該寫入請求之該驗證分量;及執行該寫入請求,包含將該驗證分量寫入至該NAND陣列。
在實例39中,實例38之標的物包含將作為運算該驗證之部分而運算之一符記傳回至該寫入請求之一請求者。
在實例40中,實例25至39之標的物包含該驗證分量經儲存於該實體位址在該NAND裝置之該NAND陣列中所屬之一區塊之一區塊標頭中。
在實例41中,實例25至40之標的物包含其中該實體位址係經組態以在一操作下產生一內部實體位址之一外部實體位址,該內部實體位址表示一組NAND陣列組件。
在實例42中,實例41之標的物包含其中用該NAND控制器之一密鑰解密該操作。
在實例43中,實例42之標的物包含其中用由該NAND控制器儲存之一方差週期性地重新加密該外部實體位址,從而導致該內部實體位址之一經改變外部實體位址。
在實例44中,實例43之標的物包含回應於該經改變外部實體位址而在一狀態訊息中傳輸一經更新邏輯至實體(L2P)表,該狀態訊息係從一主機傳回一請求至該NAND裝置之部分。
在實例45中,實例25至44之標的物包含其中在該驗證指示其已失敗時基於該驗證修改該讀取操作包含:使用該NAND控制器之一邏輯至實體(L2P)表以將來自該讀取請求之該邏輯位址映射至一第二實體位址;及使用該第二實體位址完成該讀取請求。
在實例46中,實例45之標的物包含其中完成該讀取請求包含延遲完成該讀取請求。
在實例47中,實例46之標的物包含其中延遲完成該讀取請求包含基於失敗驗證之一歷史增加一延遲。
在實例48中,實例25至47之標的物包含其中在該驗證指示其已通過時基於該驗證修改該讀取操作包含使用該實體位址完成該讀取請求而不諮詢該NAND控制器之一邏輯至實體(L2P)表。
實例49係至少一種包含指令之機器可讀媒體,該等指令在由處理電路系統執行時引起該處理電路系統執行實例25至48之任何方法。
實例50係一種裝置,其包括用以執行實例25至48之任何方法之構件。
實例51係至少一種電腦可讀媒體,其包含用於經管理NAND裝置中之主機加速操作之指令,該等指令在由處理電路系統執行時引起該處理電路系統執行包括以下各者之操作:在一NAND裝置之一控制器處接收一讀取請求,該讀取請求包含一邏輯位址及一實體位址;從該NAND裝置之一NAND陣列擷取對應於該實體位址之一驗證分量;使用該邏輯位址、該實體位址及該驗證分量運算該讀取請求之一驗證;基於該驗證修改一讀取操作。
在實例52中,實例51之標的物包含其中該驗證分量包含在最後寫入對應於該實體位址之一NAND陣列組件時儲存於該NAND陣列中之一最後邏輯位址。
在實例53中,實例52之標的物包含其中運算該驗證包含在該最後邏輯位址相同於來自該讀取請求之該邏輯位址時指示該驗證通過,否則指示該驗證失敗。
在實例54中,實例51至53之標的物包含其中該讀取請求包含一符記。
在實例55中,實例54之標的物包含其中該驗證分量包含在最後寫入對應於該實體位址之一NAND陣列組件時儲存於該NAND陣列中之一最後符記。
在實例56中,實例55之標的物包含其中運算該驗證包含在該最後符記相同於來自該讀取請求之該符記時指示該驗證通過,否則指示該驗證失敗。
在實例57中,實例55至56之標的物包含其中該驗證分量包含在最後寫入對應於該實體位址之該NAND陣列組件時儲存於該NAND陣列中之一最後邏輯位址。
在實例58中,實例57之標的物包含其中運算該驗證包含在該最後符記相同於來自該讀取請求之該符記及該最後邏輯位址相同於來自該讀取請求之該邏輯位址時指示該驗證通過,否則指示該驗證失敗。
在實例59中,實例54至58之標的物包含其中該符記係由包含一種值、該實體位址及該邏輯位址之一組輸入產生。
在實例60中,實例59之標的物包含其中該種值係該NAND控制器之一私密密鑰。
在實例61中,實例59至60之標的物包含其中該符記係該組輸入之一雜湊。
在實例62中,實例59至61之標的物包含其中該組輸入包含一計數器值。
在實例63中,實例62之標的物包含其中該計數器值係該NAND陣列之一後設資料序列號碼。
在實例64中,實例51至63之標的物包含其中該等操作進一步包括:在該NAND控制器處接收針對該實體位址之一寫入請求,該寫入請求包含一邏輯位址;自該邏輯位址運算該寫入請求之該驗證分量;及執行該寫入請求,包含將該驗證分量寫入至該NAND陣列。
在實例65中,實例64之標的物包含其中該等操作進一步包括將作為運算該驗證之部分而運算之一符記傳回至該寫入請求之一請求者。
在實例66中,實例51至65之標的物包含該驗證分量經儲存於該實體位址在該NAND裝置之該NAND陣列中所屬之一區塊之一區塊標頭中。
在實例67中,實例51至66之標的物包含其中該實體位址係經組態以在一操作下產生一內部實體位址之一外部實體位址,該內部實體位址表示一組NAND陣列組件。
在實例68中,實例67之標的物包含其中用該NAND控制器之一密鑰解密該操作。
在實例69中,實例68之標的物包含其中用由該NAND控制器儲存之一方差週期性地重新加密該外部實體位址,從而導致該內部實體位址之一經改變外部實體位址。
在實例70中,實例69之標的物包含其中該等操作進一步包括回應於該經改變外部實體位址而在一狀態訊息中傳輸一經更新邏輯至實體(L2P)表,該狀態訊息係從一主機傳回一請求至該NAND裝置之部分。
在實例71中,實例51至70之標的物包含其中在該驗證指示其已失敗時基於該驗證修改該讀取操作包含:使用該NAND控制器之一邏輯至實體(L2P)表以將來自該讀取請求之該邏輯位址映射至一第二實體位址;及使用該第二實體位址完成該讀取請求。
在實例72中,實例71之標的物包含其中完成該讀取請求包含延遲完成該讀取請求。
在實例73中,實例72之標的物包含其中延遲完成該讀取請求包含基於失敗驗證之一歷史增加一延遲。
在實例74中,實例51至73之標的物包含其中在該驗證指示其已通過時基於該驗證修改該讀取操作包含使用該實體位址完成該讀取請求而不諮詢該NAND控制器之一邏輯至實體(L2P)表。
實例75係一種用於經管理NAND裝置中之主機加速操作之系統,該系統包括:用於在一NAND裝置之一控制器處接收一讀取請求之構件,該讀取請求包含一邏輯位址及一實體位址;用於從該NAND裝置之一NAND陣列擷取對應於該實體位址之一驗證分量之構件;用於使用該邏輯位址、該實體位址及該驗證分量運算該讀取請求之一驗證之構件;用於基於該驗證修改一讀取操作之構件。
在實例76中,實例75之標的物包含其中該驗證分量包含在最後寫入對應於該實體位址之一NAND陣列組件時儲存於該NAND陣列中之一最後邏輯位址。
在實例77中,實例76之標的物包含其中用於運算該驗證之該構件包含用於在該最後邏輯位址相同於來自該讀取請求之該邏輯位址時指示該驗證通過之構件及用於在該最後邏輯位址不同於來自該讀取請求之該邏輯位址時指示該驗證失敗之構件。
在實例78中,實例75至77之標的物包含其中該讀取請求包含一符記。
在實例79中,實例78之標的物包含其中該驗證分量包含在最後寫入對應於該實體位址之一NAND陣列組件時儲存於該NAND陣列中之一最後符記。
在實例80中,實例79之標的物包含其中用於運算該驗證之該構件包含用於在該最後符記相同於來自該讀取請求之該符記時指示該驗證通過之構件及用於在該最後符記不同於來自該讀取請求之該符記時指示該驗證失敗之構件。
在實例81中,實例79至80之標的物包含其中該驗證分量包含在最後寫入對應於該實體位址之該NAND陣列組件時儲存於該NAND陣列中之一最後邏輯位址。
在實例82中,實例81之標的物包含其中用於運算該驗證之該構件包含用於在該最後符記相同於來自該讀取請求之該符記及該最後邏輯位址相同於來自該讀取請求之該邏輯位址時指示該驗證通過之構件及用於在該最後符記不同於來自該讀取請求之該符記及該最後邏輯位址不同於來自該讀取請求之該邏輯位址時指示該驗證失敗之構件。
在實例83中,實例78至82之標的物包含其中該符記係由包含一種值、該實體位址及該邏輯位址之一組輸入產生。
在實例84中,實例83之標的物包含其中該種值係該NAND控制器之一私密密鑰。
在實例85中,實例83至84之標的物包含其中該符記係該組輸入之一雜湊。
在實例86中,實例83至85之標的物包含其中該組輸入包含一計數器值。
在實例87中,實例86之標的物包含其中該計數器值係該NAND陣列之一後設資料序列號碼。
在實例88中,實例75至87之標的物包含:用於在該NAND控制器處接收針對該實體位址之一寫入請求之構件,該寫入請求包含一邏輯位址;用於自該邏輯位址運算該寫入請求之該驗證分量之構件;及用於執行該寫入請求包含將該驗證分量寫入至該NAND陣列之構件。
在實例89中,實例88之標的物包含用於將作為運算該驗證之部分而運算之一符記傳回至該寫入請求之一請求者之構件。
在實例90中,實例75至89之標的物包含該驗證分量經儲存於該實體位址在該NAND陣列之該NAND陣列中所屬之一區塊之一區塊標頭中。
在實例91中,實例75至90之標的物包含其中該實體位址係經組態以在一操作下產生一內部實體位址之一外部實體位址,該內部實體位址表示一組NAND陣列組件。
在實例92中,實例91之標的物包含其中用該NAND控制器之一密鑰解密該操作。
在實例93中,實例92之標的物包含其中用由該NAND控制器儲存之一方差週期性地重新加密該外部實體位址,從而導致該內部實體位址之一經改變外部實體位址。
在實例94中,實例93之標的物包含用於回應於該經改變外部實體位址而在一狀態訊息中傳輸一經更新邏輯至實體(L2P)表之構件,該狀態訊息係從一主機傳回一請求至該NAND裝置之部分。
在實例95中,實例75至94之標的物包含其中用於在該驗證指示其已失敗時基於該驗證修改該讀取操作之該構件包含:用於使用該NAND控制器之一邏輯至實體(L2P)表以將來自該讀取請求之該邏輯位址映射至一第二實體位址之構件;及用於使用該第二實體位址完成該讀取請求之構件。
在實例96中,實例95之標的物包含其中用於完成該讀取請求之該構件包含用於延遲完成該讀取請求之構件。
在實例97中,實例96之標的物包含其中用於延遲完成該讀取請求之該構件包含用於基於失敗驗證之一歷史增加一延遲之構件。
在實例98中,實例75至97之標的物包含其中用於在該驗證指示其已通過時基於該驗證修改該讀取操作之該構件包含用於使用該實體位址完成該讀取請求而不諮詢該NAND控制器之一邏輯至實體(L2P)表之構件。
實例99係至少一種包含指令之機器可讀媒體,該等指令在由處理電路系統執行時引起該處理電路系統執行操作以實施實例1至98之任一者。
實例100係一種設備,其包括用以實施實例1至98之任一者之構件。
實例101係一種系統,其用以實施實例1至98之任一者。
實例102係一種方法,其用以實施實例1至98之任一者。
上文實施方式包含對形成實施方式之一部分之隨附圖式之參考。圖式藉由圖解之方式展示可實踐本發明之特定實施例。此等實施例在本文中亦稱為「實例」。此等實例可包含除所展示或所描述元件之外之元件。然而,本發明人亦預期其中僅提供彼等所展示或所描述元件之實例。此外,本發明人亦預期使用關於一特定實例(或其之一或多個態樣)或關於本文中所展示或所描述之其他實例(或其之一或多個態樣)所展示或所描述之彼等元件之任何組合或排列之實例(或其之一或多個態樣)。
在本文件中,在專利文件中常使用術語「一(a或an)」來包含一個或一個以上,其獨立於「至少一個」或「一或多個」之任何其他例項或使用。在本文件中,使用術語「或」係指一非排他性「或」,使得「A或B」包含「A但非B」、「B但非A」及「A及B」,除非另有指示。在隨附發明申請專利範圍中,術語「包含」及「其中(in which)」用作各自術語「包括」及「其中(wherein)」之普通英語等效形式。又,在以下發明申請專利範圍中,術語「包含」及「包括」係開放式的,亦即,在一請求項中除列於此一術語之後的彼等元件之外亦包含若干元件之一系統、裝置、物件、或程序仍被視為在彼請求項之範疇內。此外,在以下發明申請專利範圍中,術語「第一」、「第二」及「第三」等僅用作標籤,並不旨在對其對象強加數字要求。
在各項實例中,本文中所描述之組件、控制器、處理器、單元、引擎或表可尤其包含儲存於一實體裝置上之實體電路系統或韌體。如本文中所使用,「處理器」意謂任何類型之運算電路,諸如(但不限於)一微處理器、一微控制器、一圖形處理器、一數位信號處理器(DSP),或任何其他類型之處理器或處理電路(包含處理器或多核心裝置之一群組)。
如此文件中所使用之術語「水平」係定義為平行於一基板之習知平面或表面之一平面(諸如下伏於一晶圓或晶粒之平面),而無關於該基板在任何時間點之實際定向。術語「垂直」係指垂直於如上文所定義之水平之一方向。介詞(諸如「在…上」、「在…上方」及「在…下方」)係相對於習知平面或表面定義為在基板之頂部或經暴露表面上,而無關於基板之定向;而「在...上」旨在表明一個結構相對於該結構位於其「上」之另一結構之一直接接觸(在沒有明確相反指示之情況下);術語「在...上方」及「在...下方」明確地旨在識別結構(或層、特徵等)之一相對放置,其明確地包含但不限於經識別結構之間之直接接觸,除非明確識別。類似地,術語「在...上方」及「在...下方」不限於水平定向,由於若在某個時間點係在所論述之結構之一最外部分,則一結構可在一參考結構「上方」,即使此結構相對於參考結構而垂直地延伸,而不是在一水平定向上延伸。
術語「晶圓」及「基板」在本文中通常用於係指其上形成積體電路之任何結構,且亦係指在積體電路製造之各個階段期間之此等結構。因此,以下詳細描述不應被視為一限制意義,且各項實施例之範疇僅藉由隨附發明申請專利範圍以及此等發明申請專利範圍所授權之等效物之全範疇而定義。
根據本發明及本文中所描述之各項實施例包含利用記憶體胞元之一垂直結構(例如,NAND記憶體胞元串)之記憶體。如本文中所使用,方向性形容詞將被視為相對於其上形成記憶體胞元之一基板之一表面(即,一垂直結構將被視為延伸遠離基板表面,該垂直結構之一底端將被視為最靠近基板表面之端部且該垂直結構之一頂端將被視為最遠離基板表面之端部)。
如本文中所使用,方向性形容詞(諸如水平、垂直、法向、平行、垂直等)可係指相對定向,且除非另有說明,否則並不旨在要求嚴格遵守特定幾何性質。例如,如本文中所使用,一垂直結構不需要嚴格地垂直於一基板之一表面,但可代替性地大體上垂直於該基板之該表面,且可與該基板之該表面形成一銳角(例如,在60度與120度之間等)。
在本文中所描述之一些實施例中,不同摻雜組態可應用於一源極側選擇閘極(SGS)、一控制閘極(CG)及一汲極側選擇閘極(SGD),其等之各者在此實例中可由多晶矽形成或至少包含多晶矽,結果使得此等階層(例如,多晶矽等)可在曝露至一蝕刻溶液時具有不同蝕刻率。例如,在一3D半導體裝置中形成一單體柱之一程序中,SGS及CG可形成凹部,而SGD可保持較少凹入或甚至未凹入。此等摻雜組態可因此藉由使用一蝕刻溶液(例如,氫氧化四甲基銨(TMCH))實現選擇性蝕刻至該3D半導體裝置中之相異階層(例如,SGS、CG及SGD)中。
如本文中所使用,操作一記憶體胞元包含自該記憶體胞元讀取、寫入至該記憶體胞元或擦除該記憶體胞元。將一記憶體胞元放置於一預期狀態中之操作在本文中被稱為「程式化」,且可包含寫入至該記憶體胞元或自該記憶體胞元擦除兩者(例如,該記憶體胞元可經程式化至一經擦除狀態)。
根據本發明之一或多項實施例,定位於一記憶體裝置內部或外部之一記憶體控制器(例如,一處理器、控制器、韌體等)能夠判定(例如,選擇、設定、調整、運算、改變、清除、通信、調適、導出、定義、利用、修改、應用等)損耗循環之數量或一損耗狀態(例如,記錄損耗循環、計數記憶體裝置之操作(在其等發生時)、追蹤其起始之記憶體裝置之操作、評估對應於一損耗狀態之記憶體裝置特性等)。
根據本發明之一或多項實施例,一記憶體存取裝置可經組態以藉由各記憶體操作提供損耗循環資訊至記憶體裝置。記憶體裝置控制電路系統(例如,控制邏輯)可經程式化以補償對應於損耗循環資訊之記憶體裝置效能變化。記憶體裝置可接收損耗循環資訊且回應於損耗循環資訊判定一或多個操作參數(例如,一值、特性)。
將理解,當一元件被稱為在另一元件「上」、「連接至」另一元件或與另一元件「耦合」時,其可直接在該另一元件上、連接至該另一元件或與該另一元件耦合或可存在中介元件。相比而言,當一元件被稱為「直接在另一元件上」、「直接連接至」另一元件或「直接與另一元件耦合」時,不存在中介元件或層。除非另有指示,否則若兩個元件在圖式中展示為用一線連接其等,則該兩個元件可耦合或直接耦合。
本文中所描述之方法實例可至少部分經機器或電腦實施。一些實例可包含用可操作以組態一電子裝置以執行如上文實例中所描述之方法之指令編碼之一電腦可讀媒體或機器可讀媒體。此等方法之一實施方案可包含程式碼,諸如微碼、組合語言碼、一高階語言碼或類似者。此程式碼可包含用於執行各種方法之電腦可讀指令。該程式碼可形成電腦程式產品之部分。此外,程式碼可有形地儲存於一或多個揮發性或非揮發性有形電腦可讀媒體上(諸如在執行期間或在其他時間)。此等有形電腦可讀媒體之實例可包含(但不限於):硬碟、可卸除式磁碟、可卸除式光學磁碟(例如,光碟及數位視訊磁碟)、卡式磁帶、記憶體卡或記憶棒、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、固態磁碟機(SSD)、通用快閃儲存(UFS)裝置、嵌入式MMC (eMMC)裝置及類似者。
上文描述旨在係闡釋性而非限制性。舉例而言,上文所述之實例(或其之一或多個態樣)可彼此組合使用。在檢視上文描述後,諸如一般技術者可使用其他實施例。主張瞭解其並非用於解釋或限制發明申請專利範圍之範疇或含義。再者,在上文實施方式中,各種特徵可集合在一起以簡化本發明。此不應被解譯為期望一未主張之揭示特徵係任何請求項之關鍵。實情係,本發明標的可能在於少於一特定揭示實施例之全部特徵。因此,下文發明申請專利範圍在此併入實施方式中,其中各請求項自身作為一單獨實施例,且預期此等實施例可以各種組合或排列彼此組合。應參考隨附發明申請專利範圍連同此等發申請專利範圍所授權之等效物之全範圍來判定實施例之範疇。
100‧‧‧環境
105‧‧‧主機裝置/主機
110‧‧‧記憶體裝置
115‧‧‧記憶體控制器
120‧‧‧記憶體陣列/反及閘(NAND)陣列
125‧‧‧記憶體管理器
130‧‧‧管理表
135‧‧‧陣列控制器
140‧‧‧錯誤校正碼(ECC)組件
150‧‧‧產品
205‧‧‧記憶體裝置
210‧‧‧主機
215‧‧‧讀取請求
220‧‧‧轉譯表
225‧‧‧轉譯表
305‧‧‧記憶體裝置
310‧‧‧主機
315‧‧‧狀態訊息
320‧‧‧轉譯表
325‧‧‧轉譯表
330‧‧‧計數器
335‧‧‧轉譯表
340‧‧‧元素/經更新項目
345‧‧‧經校正項目
350‧‧‧元素
405‧‧‧記憶體裝置
410‧‧‧主機
415‧‧‧狀態訊息
420‧‧‧轉譯表
425‧‧‧轉譯表
430‧‧‧密鑰
435‧‧‧表
505‧‧‧使用者資料部分/頁
510‧‧‧輔助位元組部分
515‧‧‧異質部分
520‧‧‧「INFO」輔助位元組
600‧‧‧方法
605‧‧‧操作
610‧‧‧操作
615‧‧‧操作
620‧‧‧操作
625‧‧‧操作
630‧‧‧操作
635‧‧‧操作
700‧‧‧方法
705‧‧‧操作
710‧‧‧操作
715‧‧‧操作
720‧‧‧操作
725‧‧‧決策
730‧‧‧操作
800‧‧‧機器
802‧‧‧硬體處理器
804‧‧‧主記憶體
806‧‧‧靜態記憶體
808‧‧‧互連
810‧‧‧顯示單元
812‧‧‧文數字輸入裝置
814‧‧‧使用者介面(UI)導覽裝置
816‧‧‧感測器
818‧‧‧信號產生裝置
820‧‧‧網路介面裝置
821‧‧‧儲存裝置
822‧‧‧機器可讀媒體
824‧‧‧指令
826‧‧‧通信網路
828‧‧‧輸出控制器
在不必按比例繪製之圖式中,相似數字在不同視圖中可描述類似組件。具有不同字母後綴之相似數字可表示類似組件之不同例項。圖式通常藉由實例而非限制繪示本文件中論述之各種實施例。
圖1繪示包含一記憶體裝置之一環境之一實例。
圖2繪示執行一讀取請求之一實例。
圖3繪示執行一寫入請求之一實例。
圖4繪示加密實體位址之一實例。
圖5A至圖5B繪示符記資料之儲存組態。
圖6繪示用於經管理NAND裝置中之HPB之一方法之一流程圖。
圖7繪示用於經管理NAND裝置中之主機加速操作之一方法700之一流程圖。
圖8係繪示其上可實施一或多項實施例之一機器之一實例之一方塊圖。
100‧‧‧環境
105‧‧‧主機裝置/主機
110‧‧‧記憶體裝置
115‧‧‧記憶體控制器
120‧‧‧記憶體陣列/反及閘(NAND)陣列
125‧‧‧記憶體管理器
130‧‧‧管理表
135‧‧‧陣列控制器
140‧‧‧錯誤校正碼(ECC)組件
150‧‧‧產品
Claims (27)
- 一種用於經管理NAND裝置中之主機加速操作之NAND裝置,該NAND裝置包括:一NAND陣列;及一控制器,用以:接收包含一邏輯位址、一實體位址及一符記之一讀取請求,其中該符記係由包含一計數器值之一組輸入所產生;從該NAND陣列擷取對應於該實體位址之一驗證分量;使用該邏輯位址、該實體位址及該驗證分量來運算該讀取請求之一驗證;及基於該驗證來修改一讀取操作。
- 如請求項1之NAND裝置,其中該驗證分量包含在最後寫入對應於該實體位址之一NAND陣列組件時被儲存於該NAND陣列中之一最後邏輯位址。
- 如請求項2之NAND裝置,其中為運算該驗證,該控制器在該最後邏輯位址係相同於來自該讀取請求之該邏輯位址時指示該驗證通過,否則指示該驗證失敗。
- 如請求項1之NAND裝置,其中該驗證分量包含在最後寫入對應於該實體位址之一NAND陣列組件時被儲存於該NAND陣列中之一最後符記。
- 如請求項4之NAND裝置,其中該驗證分量包含在最後寫入對應於該實體位址之該NAND陣列組件時被儲存於該NAND陣列中之一最後邏輯位址。
- 如請求項5之NAND裝置,其中為運算該驗證,該控制器在該最後符記係相同於來自該讀取請求之該符記及該最後邏輯位址係相同於來自該讀取請求之該邏輯位址時指示該驗證通過,否則指示該驗證失敗。
- 如請求項1之NAND裝置,其中該控制器進一步:在該NAND裝置處,接收針對該實體位址之一寫入請求,該寫入請求包含一邏輯位址;自該邏輯位址運算該寫入請求之該驗證分量;及執行該寫入請求,包含將該驗證分量寫入至該NAND陣列。
- 如請求項7之NAND裝置,其中該控制器進一步將作為運算該驗證之部分而運算之該符記傳回至該寫入請求之一請求者。
- 如請求項1之NAND裝置,其中為在該驗證指示其已失敗時基於該驗證來修改該讀取操作,該控制器將:使用該NAND裝置之一邏輯至實體(L2P)表,以將來自該讀取請求之該邏輯位址映射至一第二實體位址;及使用該第二實體位址來完成該讀取請求。
- 一種用於經管理NAND裝置中之主機加速操作之方法,該方法包括:在一NAND裝置之一控制器處接收一讀取請求,該讀取請求包含一邏輯位址、一實體位址及一符記,其中該符記係由包含一計數器值之一組輸入所產生;從該NAND裝置之一NAND陣列擷取對應於該實體位址之一驗證分量;使用該邏輯位址、該實體位址及該驗證分量來運算該讀取請求之一驗證;及基於該驗證來修改一讀取操作。
- 如請求項10之方法,其中該驗證分量包含在最後寫入對應於該實體位址之一NAND陣列組件時被儲存於該NAND陣列中之一最後邏輯位址。
- 如請求項11之方法,其中運算該驗證包含在該最後邏輯位址係相同於來自該讀取請求之該邏輯位址時指示該驗證通過,否則指示該驗證失敗。
- 如請求項10之方法,其中該驗證分量包含在最後寫入對應於該實體位址之一NAND陣列組件時被儲存於該NAND陣列中之一最後符記。
- 如請求項13之方法,其中該驗證分量包含在最後寫入對應於該實體 位址之該NAND陣列組件時被儲存於該NAND陣列中之一最後邏輯位址。
- 如請求項14之方法,其中運算該驗證包含在該最後符記係相同於來自該讀取請求之該符記及該最後邏輯位址係相同於來自該讀取請求之該邏輯位址時指示該驗證通過,否則指示該驗證失敗。
- 如請求項10之方法,其包括:在該NAND控制器處,接收針對該實體位址之一寫入請求,該寫入請求包含一邏輯位址;自該邏輯位址運算該寫入請求之該驗證分量;及執行該寫入請求,包含將該驗證分量寫入至該NAND陣列。
- 如請求項16之方法,其包括將作為運算該驗證之部分而運算之該符記傳回至該寫入請求之一請求者。
- 如請求項10之方法,其中在該驗證指示其已失敗時基於該驗證來修改該讀取操作包含:使用該NAND控制器之一邏輯至實體(L2P)表,以將來自該讀取請求之該邏輯位址映射至一第二實體位址;及使用該第二實體位址來完成該讀取請求。
- 一種電腦可讀媒體,其包含用於經管理NAND裝置中之主機加速操作的指令,該等指令在由處理電路系統執行時引起該處理電路系統執行包 括以下各者之操作:在一NAND裝置之一控制器處接收一讀取請求,該讀取請求包含一邏輯位址、一實體位址及一符記,其中該符記係由包含一計數器值之一組輸入所產生;從該NAND裝置之一NAND陣列擷取對應於該實體位址之一驗證分量;使用該邏輯位址、該實體位址及該驗證分量來運算該讀取請求之一驗證;及基於該驗證來修改一讀取操作。
- 如請求項19之電腦可讀媒體,其中該驗證分量包含在最後寫入對應於該實體位址之一NAND陣列組件時被儲存於該NAND陣列中之一最後邏輯位址。
- 如請求項20之電腦可讀媒體,其中運算該驗證包含在該最後邏輯位址係相同於來自該讀取請求之該邏輯位址時指示該驗證通過,否則指示該驗證失敗。
- 如請求項19之電腦可讀媒體,其中該驗證分量包含在最後寫入對應於該實體位址之一NAND陣列組件時被儲存於該NAND陣列中之一最後符記。
- 如請求項22之電腦可讀媒體,其中該驗證分量包含在最後寫入對應 於該實體位址之該NAND陣列組件時被儲存於該NAND陣列中之一最後邏輯位址。
- 如請求項23之電腦可讀媒體,其中運算該驗證包含在該最後符記係相同於來自該讀取請求之該符記及該最後邏輯位址係相同於來自該讀取請求之該邏輯位址時指示該驗證通過,否則指示該驗證失敗。
- 如請求項19之電腦可讀媒體,其中該等操作進一步包括:在該NAND控制器處,接收針對該實體位址之一寫入請求,該寫入請求包含一邏輯位址;自該邏輯位址運算該寫入請求之該驗證分量;及執行該寫入請求,包含將該驗證分量寫入至該NAND陣列。
- 如請求項25之電腦可讀媒體,其中該等操作進一步包括將作為運算該驗證之部分而運算之該符記傳回至該寫入請求之一請求者。
- 如請求項19之電腦可讀媒體,其中在該驗證指示其已失敗時基於該驗證來修改該讀取操作包含:使用該NAND控制器之一邏輯至實體(L2P)表,以將來自該讀取請求之該邏輯位址映射至一第二實體位址;及使用該第二實體位址完成該讀取請求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/790,794 | 2017-10-23 | ||
US15/790,794 US10430117B2 (en) | 2017-10-23 | 2017-10-23 | Host accelerated operations in managed NAND devices |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201933116A TW201933116A (zh) | 2019-08-16 |
TWI712883B true TWI712883B (zh) | 2020-12-11 |
Family
ID=66169882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107137424A TWI712883B (zh) | 2017-10-23 | 2018-10-23 | 在經管理反及閘裝置中之主機加速操作 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10430117B2 (zh) |
KR (1) | KR102160512B1 (zh) |
CN (1) | CN111373381B (zh) |
TW (1) | TWI712883B (zh) |
WO (1) | WO2019083719A1 (zh) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10430117B2 (en) | 2017-10-23 | 2019-10-01 | Micron Technology, Inc. | Host accelerated operations in managed NAND devices |
US11010233B1 (en) | 2018-01-18 | 2021-05-18 | Pure Storage, Inc | Hardware-based system monitoring |
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 |
US11263124B2 (en) | 2018-08-03 | 2022-03-01 | Micron Technology, Inc. | Host-resident translation layer validity check |
US10923202B2 (en) * | 2018-08-03 | 2021-02-16 | Micron Technology, Inc. | Host-resident translation layer triggered host refresh |
US10863322B2 (en) * | 2018-08-13 | 2020-12-08 | Ademco Inc. | Wireless communication with replay attack protection for low power building control applications |
US10726940B2 (en) * | 2018-09-08 | 2020-07-28 | Sandisk Technologies Llc | Column skip inconsistency correction |
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 |
US11495317B2 (en) * | 2019-06-26 | 2022-11-08 | Micron Technology, Inc. | Managed-NAND real time analyzer and method |
US11211136B2 (en) | 2019-06-26 | 2021-12-28 | Micron Technology, Inc. | Memory system tester using test pad real time monitoring |
US11481336B2 (en) * | 2019-08-19 | 2022-10-25 | Micron Technology, Inc. | Host assisted operations in managed memory devices |
US11941116B2 (en) | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US11651075B2 (en) * | 2019-11-22 | 2023-05-16 | Pure Storage, Inc. | Extensible attack monitoring by a storage system |
US11520907B1 (en) | 2019-11-22 | 2022-12-06 | Pure Storage, Inc. | Storage system snapshot retention based on encrypted data |
US20210216631A1 (en) * | 2019-11-22 | 2021-07-15 | Pure Storage, Inc. | Filesystem Property Based Determination of a Possible Ransomware Attack Against a Storage System |
US11675898B2 (en) | 2019-11-22 | 2023-06-13 | Pure Storage, Inc. | Recovery dataset management for security threat monitoring |
US12067118B2 (en) | 2019-11-22 | 2024-08-20 | Pure Storage, Inc. | Detection of writing to a non-header portion of a file as an indicator of a possible ransomware attack against a storage system |
US11657155B2 (en) | 2019-11-22 | 2023-05-23 | Pure Storage, Inc | Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system |
US12079333B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Independent security threat detection and remediation by storage systems in a synchronous replication arrangement |
US11720692B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Hardware token based management of recovery datasets for a storage system |
US11645162B2 (en) | 2019-11-22 | 2023-05-09 | Pure Storage, Inc. | Recovery point determination for data restoration in a storage system |
US11720714B2 (en) * | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Inter-I/O relationship based detection of a security threat to a storage system |
US11500788B2 (en) * | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect to a storage system |
US11615185B2 (en) | 2019-11-22 | 2023-03-28 | Pure Storage, Inc. | Multi-layer security threat detection for a storage system |
US11341236B2 (en) | 2019-11-22 | 2022-05-24 | Pure Storage, Inc. | Traffic-based detection of a security threat to a storage system |
US12079356B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Measurement interval anomaly detection-based generation of snapshots |
US12079502B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Storage element attribute-based determination of a data protection policy for use within a storage system |
US11687418B2 (en) | 2019-11-22 | 2023-06-27 | Pure Storage, Inc. | Automatic generation of recovery plans specific to individual storage elements |
US11755751B2 (en) | 2019-11-22 | 2023-09-12 | Pure Storage, Inc. | Modify access restrictions in response to a possible attack against data stored by a storage system |
US12050689B2 (en) | 2019-11-22 | 2024-07-30 | Pure Storage, Inc. | Host anomaly-based generation of snapshots |
US12050683B2 (en) | 2019-11-22 | 2024-07-30 | Pure Storage, Inc. | Selective control of a data synchronization setting of a storage system based on a possible ransomware attack against the storage system |
US11625481B2 (en) * | 2019-11-22 | 2023-04-11 | Pure Storage, Inc. | Selective throttling of operations potentially related to a security threat to a storage system |
US11568077B2 (en) * | 2019-12-26 | 2023-01-31 | Micron Technology, Inc. | Memory device data security based on content-addressable memory architecture |
CN113900582B (zh) * | 2020-06-22 | 2024-08-16 | 慧荣科技股份有限公司 | 数据处理方法及对应的数据储存装置 |
US11449244B2 (en) * | 2020-08-11 | 2022-09-20 | Silicon Motion, Inc. | Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information |
KR20220049215A (ko) | 2020-10-14 | 2022-04-21 | 삼성전자주식회사 | 메모리 장치, 호스트 장치 및 이들을 포함하는 메모리 시스템 |
KR20220090020A (ko) | 2020-12-22 | 2022-06-29 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 시스템이 생성한 메타데이터를 전송하는 장치 및 방법 |
CN112905111A (zh) | 2021-02-05 | 2021-06-04 | 三星(中国)半导体有限公司 | 数据缓存的方法和数据缓存的装置 |
WO2022193130A1 (en) * | 2021-03-16 | 2022-09-22 | Micron Technology, Inc. | Managing regions of a memory system |
CN113227995B (zh) * | 2021-03-31 | 2024-09-03 | 长江存储科技有限责任公司 | 用于闪存存储器的文件系统和主机性能增强器 |
US11797224B2 (en) * | 2022-02-15 | 2023-10-24 | Western Digital Technologies, Inc. | Resource management for solid state drive accelerators |
US11994985B2 (en) * | 2022-10-04 | 2024-05-28 | Silicon Motion, Inc. | Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information encoding and decoding |
US11995349B2 (en) * | 2022-10-04 | 2024-05-28 | Silicon Motion, Inc. | Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information encoding and decoding |
US20240265226A1 (en) * | 2023-02-07 | 2024-08-08 | T-Mobile Innovations Llc | System and Method of Controlling Lifecycles of Ambient Electromagnetic Power Harvesting Chips |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090113121A1 (en) * | 2004-02-26 | 2009-04-30 | Super Talent Electronics Inc. | Swappable Sets of Partial-Mapping Tables in a Flash-Memory System With A Command Queue for Combining Flash Writes |
US20120203980A1 (en) * | 2006-12-06 | 2012-08-09 | Fusion-Io, Inc. | Apparatus, system, and method for validating that a correct data segment is read from a data storage device |
US20140195725A1 (en) * | 2013-01-08 | 2014-07-10 | Violin Memory Inc. | Method and system for data storage |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6901498B2 (en) * | 2002-12-09 | 2005-05-31 | Sandisk Corporation | Zone boundary adjustment for defects in non-volatile memories |
US9720616B2 (en) * | 2008-06-18 | 2017-08-01 | Super Talent Technology, Corp. | Data-retention controller/driver for stand-alone or hosted card reader, solid-state-drive (SSD), or super-enhanced-endurance SSD (SEED) |
US20110078343A1 (en) | 2009-09-29 | 2011-03-31 | Cleversafe, Inc. | Distributed storage network including memory diversity |
US20120221767A1 (en) * | 2011-02-28 | 2012-08-30 | Apple Inc. | Efficient buffering for a system having non-volatile memory |
CN103064795B (zh) * | 2012-12-31 | 2015-12-02 | 华为技术有限公司 | 一种存储设备的控制方法及相关装置 |
US9250995B2 (en) | 2013-05-29 | 2016-02-02 | Seagate Technology Llc | Protection of data in memory |
CN104423892A (zh) * | 2013-08-29 | 2015-03-18 | 宏碁股份有限公司 | 数据写入方法、磁盘模块以及数据写入系统 |
WO2016018234A1 (en) | 2014-07-28 | 2016-02-04 | Hewlett-Packard Development Company, L.P. | Memory access control |
US9436615B2 (en) | 2014-10-03 | 2016-09-06 | Sandisk Technologies Llc | Optimistic data read |
US20160162416A1 (en) * | 2014-12-08 | 2016-06-09 | Intel Corporation | Apparatus and Method for Reducing Latency Between Host and a Storage Device |
US10222990B2 (en) | 2015-07-24 | 2019-03-05 | Sandisk Technologies Llc | Optimistic read operation |
JP6444917B2 (ja) * | 2016-03-08 | 2018-12-26 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
US10521617B2 (en) * | 2017-08-14 | 2019-12-31 | Western Digital Technologies, Inc. | Non-volatile memory device with secure read |
US10430117B2 (en) | 2017-10-23 | 2019-10-01 | Micron Technology, Inc. | Host accelerated operations in managed NAND devices |
KR102624911B1 (ko) * | 2018-06-13 | 2024-01-12 | 삼성전자주식회사 | 개선된 메타 데이터 관리를 통한 플래시 메모리의 내구성 향상 방법 |
US10698816B2 (en) * | 2018-06-29 | 2020-06-30 | Micron Technology, Inc. | Secure logical-to-physical caching |
TW202008171A (zh) * | 2018-07-20 | 2020-02-16 | 大陸商深圳大心電子科技有限公司 | 資料寫入方法以及儲存控制器 |
US10691592B2 (en) * | 2018-10-30 | 2020-06-23 | Micron Technology, Inc. | Error-checking in namespaces on storage devices using a namespace table and metadata |
-
2017
- 2017-10-23 US US15/790,794 patent/US10430117B2/en active Active
-
2018
- 2018-10-09 KR KR1020207013268A patent/KR102160512B1/ko active IP Right Grant
- 2018-10-09 WO PCT/US2018/054981 patent/WO2019083719A1/en active Application Filing
- 2018-10-09 CN CN201880074601.3A patent/CN111373381B/zh active Active
- 2018-10-23 TW TW107137424A patent/TWI712883B/zh active
-
2019
- 2019-09-24 US US16/580,684 patent/US10936250B2/en active Active
-
2021
- 2021-03-01 US US17/188,692 patent/US11385838B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090113121A1 (en) * | 2004-02-26 | 2009-04-30 | Super Talent Electronics Inc. | Swappable Sets of Partial-Mapping Tables in a Flash-Memory System With A Command Queue for Combining Flash Writes |
US20120203980A1 (en) * | 2006-12-06 | 2012-08-09 | Fusion-Io, Inc. | Apparatus, system, and method for validating that a correct data segment is read from a data storage device |
US20140195725A1 (en) * | 2013-01-08 | 2014-07-10 | Violin Memory Inc. | Method and system for data storage |
Non-Patent Citations (1)
Title |
---|
"Improving FIash Storage Performance by Caching Address Mapping Table in Host Memory", Wookhan Jeong , Yongmyung Lee, Hyunsoo Cho, Jaegyu Lee, Songho Yoon, Jooyoung Hwang, and Donggi Lee, S/W Development Team, Memory Business, Samsung Electronics Co., Ltd. 2017/05/07 * |
Also Published As
Publication number | Publication date |
---|---|
US10430117B2 (en) | 2019-10-01 |
KR102160512B1 (ko) | 2020-10-15 |
US10936250B2 (en) | 2021-03-02 |
TW201933116A (zh) | 2019-08-16 |
US20210181994A1 (en) | 2021-06-17 |
KR20200057781A (ko) | 2020-05-26 |
US11385838B2 (en) | 2022-07-12 |
CN111373381A (zh) | 2020-07-03 |
WO2019083719A1 (en) | 2019-05-02 |
US20190121576A1 (en) | 2019-04-25 |
US20200125295A1 (en) | 2020-04-23 |
CN111373381B (zh) | 2021-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI712883B (zh) | 在經管理反及閘裝置中之主機加速操作 | |
CN112313632B (zh) | 被管理的nand装置中的主机加速操作 | |
US11341050B2 (en) | Secure logical-to-physical caching | |
TWI756603B (zh) | 使用反及閘記憶體陣列之物理不可複製函數 | |
US11704254B2 (en) | Host side caching security for flash memory | |
CN111539043A (zh) | 提供对受保护存储器的存取的系统 | |
US11775449B2 (en) | Increased efficiency obfuscated logical-to-physical map management | |
US11989138B2 (en) | Host assisted operations in managed memory devices | |
CN114093406A (zh) | 一种存储器装置、系统、信息处理方法及可读存储介质 |