TW202215250A - 儲存裝置及其操作方法 - Google Patents
儲存裝置及其操作方法 Download PDFInfo
- Publication number
- TW202215250A TW202215250A TW110117507A TW110117507A TW202215250A TW 202215250 A TW202215250 A TW 202215250A TW 110117507 A TW110117507 A TW 110117507A TW 110117507 A TW110117507 A TW 110117507A TW 202215250 A TW202215250 A TW 202215250A
- Authority
- TW
- Taiwan
- Prior art keywords
- trimming
- information
- logical address
- logical
- trim
- 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
- 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/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting 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
- 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
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/14—Word line organisation; Word line lay-out
-
- 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/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明係關於一種儲存裝置及其操作方法。儲存裝置包括:記憶體裝置,包括頁面;緩衝記憶體,其係被配置為儲存:位址映射資訊,包括從主機提供的邏輯位址與對應於頁面的實體位址之間的映射關係;第一修整位元映射資訊,包括第一邏輯位址組的修整資訊,該第一邏輯位址組中的每一個包括具有邏輯位址中的至少兩個的第一數量的邏輯位址;以及第二修整位元映射資訊,包括第二邏輯位址組的修整資訊,該第二邏輯位址組中的每一個包括邏輯位址中的大於第一數量的第二數量的邏輯位址;以及記憶體控制器,被配置為基於來自主機的請求修整的邏輯位址的數量來改變位址映射資訊、第一修整位元映射資訊和第二修整位元映射資訊中的一個中的請求修整的邏輯位址的映射狀態。
Description
本公開係關於一種電子裝置,並且更特別地,關於一種儲存裝置及其操作方法。
儲存裝置是在諸如計算機或智慧型手機的主機裝置的控制下儲存資料的裝置。儲存裝置可以包括儲存資料的記憶體裝置和控制記憶體裝置的記憶體控制器。記憶體裝置可以被分類為揮發性記憶體裝置和非揮發性記憶體裝置。
揮發性記憶體裝置可以是僅在供應電力時儲存資料而在中斷電力供應時丟失所儲存的資料的裝置。揮發性記憶體裝置可以包括靜態隨機存取記憶體(static random access memory, SRAM)、動態隨機存取記憶體(dynamic random access memory, DRAM)等。
非揮發性記憶體裝置是即使斷電也不會丟失資料的裝置。非揮發性記憶體裝置包括唯讀記憶體(read only memory, ROM)、可編程記憶體(programmable ROM, PROM)、電可編程ROM(electrically programmable ROM, EPROM)、電可擦可編程ROM(electrically erasable and programmable ROM, EEPROM)、快閃記憶體等。
本申請請求於2020年10月7日提交的、申請號為10-2020-0129578的韓國專利申請的優先權,該韓國專利申請透過引用整體併入本文。
本公開的實施例提供具有提高的修整處理操作速度的儲存裝置及操作該儲存裝置的方法。
根據本公開的實施例,一種儲存裝置包括:記憶體裝置,包括多個頁面;緩衝記憶體,其係被配置為儲存:位址映射資訊,包括從主機提供的多個邏輯位址與對應於多個頁面的多個實體位址之間的映射關係;第一修整位元映射資訊,包括多個第一邏輯位址組的修整資訊,該多個第一邏輯位址組中的每一個包括多個邏輯位址中的第一數量的邏輯位址,第一數量的邏輯位址是至少兩個邏輯位址;以及第二修整位元映射資訊,包括多個第二邏輯位址組的修整資訊,該多個第二邏輯位址組中的每一個包括多個邏輯位址中的大於第一數量的第二數量的邏輯位址;以及記憶體控制器,被配置為基於來自主機的請求修整的邏輯位址的數量來改變位址映射資訊、第一修整位元映射資訊和第二修整位元映射資訊中的一個中的請求修整的邏輯位址的映射狀態。
根據本公開的實施例,一種操作儲存裝置的方法,該儲存裝置包括記憶體裝置、緩衝記憶體以及記憶體控制器,該記憶體裝置包括多個頁面,該記憶體控制器控制該記憶體裝置和該緩衝記憶體,該方法包括:生成位址映射資訊,該位址映射資訊包括從主機提供的多個邏輯位址與對應於多個頁面的多個實體位址之間的映射關係;生成第一修整位元映射資訊,該第一修整位元映射資訊包括多個第一邏輯位址組的修整資訊,多個第一邏輯位址組中的每一個包括多個邏輯位址中的第一數量的邏輯位址,第一數量的邏輯位址是至少兩個邏輯位址;生成第二修整位元映射資訊,該第二修整位元映射資訊包括多個第二邏輯位址組的修整資訊,多個第二邏輯位址組中的每一個包括多個邏輯位址中的大於第一數量的第二數量的邏輯位址;從主機接收修整請求;將第二修整位元映射資訊中的多個第二邏輯位址組之中包括來自主機的請求修整的邏輯位址的請求修整的第二邏輯位址組的修整資訊改變為修整狀態;基於第二修整位元映射資訊中請求修整的第二邏輯位址組的所改變的修整資訊,將第一修整位元映射資訊中的多個第一邏輯位址組之中每個包括一些請求修整的邏輯位址的請求修整的第一邏輯位址組的修整資訊改變為修整狀態;以及基於第一修整位元映射資訊中的請求修整的第一邏輯位址組的所改變的修整資訊,改變位址映射資訊中的多個邏輯位址之中的請求修整的邏輯位址的映射資訊。
根據本公開的實施例,儲存裝置包括:緩衝記憶體,該緩衝記憶體被配置為緩存條目值,每個條目值表示從實體位址取消映射的或映射到實體位址的邏輯位址的狀態;第一位值,每個第一位值表示邏輯位址之中的第一數量的邏輯位址的狀態;第二位值,每個第二位值表示邏輯位址之中的第二數量的邏輯位址的狀態,第二數量大於第一數量;以及控制器,被配置為回應於針對數量在第一數量與第二數量之間的目標邏輯位址的取消映射請求而改變第一位值之中的一個或多個以將第一位值的改變反映到條目值中,並且回應於針對數量大於第二數量的目標邏輯位址的取消映射請求而改變第二位值之中的一個或多個以將第二位值的改變反映到條目值中。
控制器可以在改變第一位值或第二位值時輸出對取消映射請求的回應。
控制器可以基於第一位值的改變或第二位值的改變,將與目標邏輯位址相對應的條目值改變為取消映射狀態。
根據本技術,提供具有提高的修整處理操作速度的儲存裝置及操作該儲存裝置的方法。
僅示出在本說明書中或本申請中公開的實施例的特定結構或功能性描述以描述根據本公開的實施例。根據本公開的實施例可以以各種形式實施並且描述不受本說明書或本申請中所描述的實施例限制。
圖1是示出根據本公開的實施例的儲存裝置的示圖。
參照圖1,儲存裝置50可以包括記憶體裝置100和控制記憶體裝置的操作的記憶體控制器200。儲存裝置50可以是在諸如以下的主機400的控制下儲存資料的裝置:行動電話、智慧型手機、MP3播放器、膝上型電腦、桌上型電腦、遊戲機、TV、平板PC或車載式資訊娛樂系統。
根據作為與主機400的通信方法的主機介面,儲存裝置50可以被製造為各種類型的儲存裝置中的一種。例如,儲存裝置50可以被配置為諸如以下的各種類型的儲存裝置中的任意一種:SSD,MMC、eMMC、RS-MMC和微型MMC形式的多媒體卡,SD、迷你SD和微型SD形式的安全數位卡,通用串列匯流排(universal serial bus, USB)儲存裝置,通用快閃儲存(universal flash storage, UFS)裝置,個人電腦記憶卡國際協會(computer memory card international association, PCMCIA)卡型儲存裝置,外圍組件互連(peripheral component interconnection, PCI)卡型儲存裝置,高速PCI(PCI express, PCI-E)卡型儲存裝置,緊湊型快閃(compact flash CF)卡,智慧媒體卡或記憶棒。
儲存裝置50可以被製造為各種類型的封裝中的任意一種。例如,儲存裝置50可以被製造為諸如以下的各種類型的封裝形式中的任意一種:堆疊封裝(package on package, POP)、系統級封裝(system in package, SIP)、片上系統(system on chip, SOC)、多晶片封裝(multi-chip package, MCP)、板上晶片(chip on board, COB)、晶圓級製造封裝(wafer-level fabricated package, WFP)或者晶圓級堆疊封裝(wafer-level stack package, WSP)。
記憶體裝置100可以儲存資料。記憶體裝置100在記憶體控制器200的控制下操作。記憶體裝置100可以包括記憶體單元陣列(未示出),該記憶體單元陣列包括儲存資料的多個記憶體單元。
記憶體單元中的每一個可以被配置為儲存一個資料位的單層單元(single level cell, SLC)、儲存兩個資料位的多層單元(multi-level cell, MLC)、儲存三個資料位的三層單元(triple level cell, TLC)或能夠儲存四個資料位的四層單元(quad level cell, QLC)。
記憶體單元陣列(未示出)可以包括多個記憶塊。每個記憶塊可以包括多個記憶體單元。一個記憶塊可以包括多個頁面。在實施例中,頁面可以是用於將資料儲存在記憶體裝置100中或者讀取記憶體裝置100中儲存的資料的單位。記憶塊可以是用於擦除資料的單位。
在實施例中,記憶體裝置100可以是雙倍資料速率同步動態隨機存取記憶體(double data rate synchronous dynamic random access memory, DDR SDRAM)、第四代低功率雙倍資料速率(low power double data rate4, LPDDR4)SDRAM、圖形雙倍資料速率(graphics double data rate, GDDR)SDRAM、低功率DDR(low power DDR, LPDDR)、Rambus動態隨機存取記憶體(RDRAM)、NAND快閃記憶體、垂直NAND快閃記憶體、NOR快閃記憶體、電阻式隨機存取記憶體(Rambus dynamic random access memory, RRAM)、相變隨機存取記憶體(phase-change random access memory, PRAM)、磁阻隨機存取記憶體(magnetoresistive random access memory, MRAM)、鐵電隨機存取記憶體(ferroelectric random access memory, FRAM)或自旋轉移力矩隨機存取記憶體(spin transfer torque random access memory, STT-RAM)等。在本說明書中,為了方便描述,記憶體裝置100可以是NAND快閃記憶體。
記憶體裝置100被配置為從記憶體控制器200接收命令CMD和位址ADDR並且存取記憶體單元陣列中由該位址選擇的區域。記憶體裝置100可以對由位址ADDR選擇的區域執行由命令CMD指示的操作。例如,記憶體裝置100可以執行寫入操作(編程操作)、讀取操作和擦除操作。在編程操作期間,記憶體裝置100可以將資料編程到由位址ADDR選擇的區域中。在讀取操作期間,記憶體裝置100可以從由位址ADDR選擇的區域讀取資料。在擦除操作期間,記憶體裝置100可以擦除在由位址ADDR選擇的區域中儲存的資料。
記憶體控制器200可以控制儲存裝置50的整體操作。
當向儲存裝置50施加電力時,記憶體控制器200可以運行韌體(firmware, FW)。當記憶體裝置100是快閃記憶體裝置時,韌體(firmware, FW)可以包括主機介面層(host interface layer, HIL),控制與主機400的通信,並且記憶體控制器200可以包括快閃轉換層(flash translation layer, FTL),控制主機400與記憶體裝置100之間的通信;以及快閃介面層(flash interface layer, FIL),控制與記憶體裝置100的通信。
在實施例中,記憶體控制器200可以從主機400接收資料和邏輯塊位址(logical block address, LBA)並且可以將LBA轉換為指示將儲存記憶體裝置100中包括的資料的記憶體單元的位址的實體塊位址(physical block address, PBA)。在本說明書中,LBA和“邏輯位址”或“邏輯的位址”可以用作具有相同的含義。在本說明書中,PBA和“實體位址”或“實體的位址”可以用作具有相同的含義。
記憶體控制器200可以根據主機400的請求,控制記憶體裝置100來執行編程操作、讀取操作或擦除操作。在編程操作期間,記憶體控制器200可以向記憶體裝置100提供寫入命令、PBA和資料。在讀取操作期間,記憶體控制器200可以向記憶體裝置100提供讀取命令和PBA。在擦除操作期間,記憶體控制器200可以向記憶體裝置100提供擦除命令和PBA。
在實施例中,記憶體控制器200可以不管來自主機400的請求而獨立地生成命令、位址和資料,並且將命令、位址和資料傳輸到記憶體裝置100。例如,記憶體控制器200可以向記憶體裝置100提供用於執行伴隨損耗平衡、讀取回收、垃圾收集等的讀取操作和編程操作的命令、位址和資料。
在實施例中,記憶體控制器200可以控制至少兩個或更多個記憶體裝置100。在這種情況下,記憶體控制器200可以根據交錯法來控制記憶體裝置100以提高操作性能。交錯法可以是控制對至少兩個記憶體裝置100的操作彼此重疊的方法。
主機400可以使用諸如以下的各種通信方法中的至少一種來與儲存裝置50通信:通用串列匯流排(universal serial bus, USB)、串列AT附件(serial AT attachment, SATA)、串列SCSI(serial attached SCSI, SAS)、高速晶片間(high speed interchip, HSIC)、小型計算機系統介面(small computer system interface, SCSI)、外圍組件互連(peripheral component interconnection, PCI)、高速PCI(PCI express, PCIe)、高速非揮發性記憶體(nonvolatile memory express, NVMe)、通用快閃儲存(universal flash storage, UFS)、安全數位(secure digital, SD)、多媒體卡(multi-media card, MMC)、嵌入式MMC(embedded MMC, eMMC)、雙列直插式記憶體模組(dual in-line memory module, DIMM)、暫存式DIMM(registered DIMM, RDIMM)以及低負載DIMM(load reduced DIMM, LRDIMM)。
記憶體控制器200可以根據主機400的請求控制緩衝記憶體300以臨時儲存待儲存在記憶體裝置100中的資料。可以根據邏輯位址來將緩衝記憶體300中儲存的資料儲存在緩衝記憶體300中的預分配區域(未示出)中。
編程單位被定義為在編程操作期間被一次編程到記憶體裝置100中的資料的大小。從主機400向儲存裝置50一次提供的資料的大小可以與編程單位不同。因此,記憶體控制器200可以將根據主機400的編程請求而接收到的資料儲存在緩衝記憶體300中。之後,當緩衝記憶體300中儲存的資料變為編程單位的大小時,記憶體控制器200可以控制緩衝記憶體300和記憶體裝置100將編程單位的資料編程到記憶體裝置100中。
緩衝記憶體300可以是揮發性記憶體裝置。因此,當切斷電力時,緩衝記憶體300中儲存的資料可能無法保持。
參照圖1,緩衝記憶體300包括在儲存裝置50中並且定位於記憶體控制器200外部。然而,在各個實施例中,緩衝記憶體300可以定位於記憶體控制器200內部。
圖2是示出根據本公開的實施例的位址映射資訊301和修整位元映射資訊302的示圖。
參照圖2,緩衝記憶體300可以儲存位址映射資訊301和修整位元映射資訊302。
位址映射資訊301可以包括從主機400提供的多個邏輯位址與對應於記憶體裝置100中包括的多個頁面的多個實體位址之間的映射關係。在實施例中,位址映射資訊301可以包括從實體位址取消映射的或映射到實體位址的多個邏輯位址中的每一個的狀態。
在實施例中,位址映射資訊301可以儲存在記憶體裝置100中。記憶體控制器200可以讀取一些位址映射資訊301並且將該一些位址映射資訊301儲存在緩衝記憶體300中。
在圖2中,位址映射資訊301包括第一邏輯位址LA1至第三十二邏輯位址LA32與實體位址PA之間的映射關係,但不限於此。根據實施例,位址映射資訊301中包括的邏輯位址的數量可以改變。
修整位元映射資訊302可以包括位址映射資訊301中包括的多個邏輯位址LA1至LA32的修整資訊。此時,修整資訊可以包括映射狀態或修整狀態即取消映射狀態中的一個。在實施例中,映射狀態可以指示特定邏輯位址映射到特定實體位址的資訊,從特定實體位址取消映射特定邏輯位址的資訊或與映射有關的各種資訊。在實施例中,修整狀態可以指示從實體位址取消映射特定邏輯位址的資訊。
在實施例中,修整位元映射資訊302可以包括多個位元,該多個位元指示多個邏輯位址的修整資訊。例如,當修整位元映射資訊302中包括的特定位元被設置為0時,與該特定位元相對應的邏輯位址可以處於映射狀態。再例如,當修整位元映射資訊302中包括的特定位元被設置為1時,與該特定位元相對應的邏輯位址可以處於修整狀態。
在實施例中,修整位元映射資訊302可以透過memset函數來改變多個邏輯位址的修整資訊。例如,當對修整位元映射資訊302中包括的特定位元執行複位操作時,可以將與相應位相對應的邏輯位址的修整資訊改變為映射狀態。再如,當對修整位元映射資訊302中包括的特定位元執行設置操作時,可以將與相應位相對應的邏輯位址的修整資訊改變為修整狀態。
在實施例中,修整位元映射資訊302可以包括邏輯位址組的修整資訊,每個邏輯位址組包括從主機400提供的多個邏輯位址LA1至LA32之中的至少兩個或更多個邏輯位址。具體地,修整位元映射資訊302中包括的多個位元可以分別指示多個邏輯位址組的修整資訊。例如,修整位元映射資訊302中包括的第一修整資訊Trim 1可以指示第一邏輯位址LA1至第四邏輯位址LA4的修整資訊。另外,修整位元映射資訊302中包括的第二修整資訊Trim 2可以指示第五邏輯位址LA5至第八邏輯位址LA8的修整資訊。另外,修整位元映射資訊302中包括的第三修整資訊Trim 3可以指示第九邏輯位址LA9至第十二邏輯位址LA12的修整資訊。另外,修整位元映射資訊302中包括的第四修整資訊Trim 4可以指示第十三邏輯位址LA13至第十六邏輯位址LA16的修整資訊。另外,修整位元映射資訊302中包括的第八修整資訊Trim 8可以指示第二十九邏輯位址LA29至第三十二邏輯位址LA32的修整資訊。
在圖2中,修整位元映射資訊302中包括的一個位元指示四個邏輯位址的修整資訊,但是不限於此。根據實施例,與修整位元映射資訊302中包括的一個位元相對應的邏輯位址的數量可以變化。
在實施例中,當從主機400接收修整請求時,記憶體控制器200可以改變修整位元映射資訊302中請求修整的邏輯位址的映射狀態。在實施例中,修整請求可以被稱為取消映射請求。例如,當記憶體控制器200從主機400接收到針對第九邏輯位址LA9至第十六邏輯位址LA16的修整請求時,記憶體控制器200可以將修整位元映射資訊302中的、每個包括一些請求修整的邏輯位址LA9至LA16的第三修整資訊Trim 3和第四修整資訊Trim4改變為修整狀態。此後,記憶體控制器200可以向主機400提供對修整請求做出回應的回應信號。另外,記憶體控制器200可以在諸如讀取操作和編程操作的內部操作期間基於修整位元映射資訊302的第三修整資訊Trim 3和第四修整資訊Trim 4,將位址映射資訊301中的第九邏輯位址LA9至第十六邏輯位址LA16的映射資訊改變為修整狀態T。此後,記憶體控制器200可以將第三修整資訊Trim 3和第四修整資訊Trim 4改變為映射狀態。
因此,儲存裝置50可以根據主機400的修整請求而透過在內部操作期間使用修整位元映射資訊302更新位址映射資訊301,來減少更新位址映射資訊301所需的時間。
隨著與修整位元映射資訊302中包括的一個位元(即一條修整資訊)相對應的邏輯位址的數量減少,用於將修整位元映射資訊302的修整資訊反映到位址映射資訊301的時間減少,但是改變修整位元映射資訊302的修整資訊所需的時間增加。相反,隨著與修整位元映射資訊302中包括的一個位元相對應的邏輯位址的數量增加,改變修整位元映射資訊302的修整資訊所需的時間減少,但是用於將修整位元映射資訊302的修整資訊反映到位址映射資訊301的時間增加。
因此,根據本公開的實施例,可以透過基於不同修整位元映射資訊來改變位址映射資訊301,來減少根據主機400的修整請求而更新位址映射資訊301所需的時間,不同修整位元映射資訊分別表示每個包括不同數量的邏輯位址的組的修整狀態。
圖3是示出根據本公開的實施例的不同修整位元映射資訊的示圖。
參照圖3,緩衝記憶體300可以儲存位址映射資訊301、第一修整位元映射資訊303和第二修整位元映射資訊304。此時,位址映射資訊301可以指示圖2的位址映射資訊301。
在圖3中,位址映射資訊301包括第一邏輯位址LA1至第三十二邏輯位址LA32與實體位址PA之間的映射關係,但不限於此。根據實施例,位址映射資訊301中包括的邏輯位址的數量可以改變。
第一修整位元映射資訊303和第二修整位元映射資訊304可以包括位址映射資訊301中包括的多個邏輯位址LA1至LA32的修整資訊。
在實施例中,第一修整位元映射資訊303和第二修整位元映射資訊304中的每一個可以包括邏輯位址組的修整資訊,該邏輯位址組包括從主機400提供的多個邏輯位址LA1至LA32之中的至少兩個或更多個邏輯位址。具體地,第一修整位元映射資訊303和第二修整位元映射資訊304中的每一個中包括的多個位元可以分別指示多個邏輯位址組的修整資訊。
在實施例中,第一修整位元映射資訊303可以包括多個第一邏輯位址組的修整資訊,該多個第一邏輯位址組中的每一個包括多個邏輯位址中的第一數量的邏輯位址,第一數量的邏輯位址是至少兩個或更多個邏輯位址。此時,第一數量可以指示與第一修整位元映射資訊303中包括的一個位元(即一條修整資訊)相對應的邏輯位址的數量。
例如,第一修整位元映射資訊303可以包括每個包括四個邏輯位址的邏輯位址組的修整資訊。第一修整位元映射資訊303中包括的第一修整資訊Trim 1可以指示第一邏輯位址LA1至第四邏輯位址LA4的修整資訊。另外,第一修整位元映射資訊303中包括的第二修整資訊Trim 2可以指示第五邏輯位址LA5至第八邏輯位址LA8的修整資訊。另外,第一修整位元映射資訊303中包括的第三修整資訊Trim 3可以指示第九邏輯位址LA9至第十二邏輯位址LA12的修整資訊。另外,第一修整位元映射資訊303中包括的第四修整資訊Trim 4可以指示第十三邏輯位址LA13至第十六邏輯位址LA16的修整資訊。另外,第一修整位元映射資訊303中包括的第八修整資訊Trim 8可以指示第二十九邏輯位址LA29至第三十二邏輯位址LA32的修整資訊。
在圖3中,第一修整位元映射資訊303中包括的一個位元(即一條修整資訊)指示四個邏輯位址的修整資訊,但是不限於此。根據實施例,與第一修整位元映射資訊303中包括的一個位元相對應的邏輯位址的數量可以變化。
在實施例中,第二修整位元映射資訊304可以包括多個第二邏輯位址組的修整資訊,該多個第二邏輯位址組中的每一個包括多個邏輯位址中的、大於第一數量的第二數量的邏輯位址。此時,第二數量可以指示與第二修整位元映射資訊304中包括的一個位元(即一條修整資訊)相對應的邏輯位址的數量。在實施例中,第二數量可以是第一數量的整數倍。
例如,第二修整位元映射資訊304可以包括每個包括八個邏輯位址的邏輯位址組的修整資訊。第二修整位元映射資訊304中包括的第a修整資訊Trim a可以指示第一邏輯位址LA1至第八邏輯位址LA8的修整資訊。另外,第二修整位元映射資訊304中包括的第b修整資訊Trim b可以指示第九邏輯位址LA9至第十六邏輯位址LA16的修整資訊。也就是說,與第二修整位元映射資訊304中包括的一個位元(即一條修整資訊)相對應的邏輯位址的數量可以大於與第一修整位元映射資訊303中包括的一個位元相對應的邏輯位址的數量。
在上述示例中,第二數量是第一數量的兩倍,但是不限於此,並且第二數量和第一數量之間的倍數差可以根據實施例而變化。
在實施例中,多個第二邏輯位址組中的每一個可以對應於多個第一邏輯位址組之中的至少兩個或更多個第一邏輯位址組。例如,與第二修整位元映射資訊304中包括的第a修整資訊Trim a相對應的邏輯位址LA1至LA8可以對應於與第一修整位元映射資訊303中包括的第一修整資訊Trim1和第二修整資訊Trim2相對應的邏輯位址LA1至LA8。另外,與第二修整位元映射資訊304中包括的第b修整資訊Trim b相對應的邏輯位址LA9至LA16可以對應於與第一修整位元映射資訊303中包括的第三修整資訊Trim 3和第四修整資訊Trim4相對應的邏輯位址LA9至LA16。也就是說,第二修整位元映射資訊304中包括的多個位元中的每一個(即修整資訊)可以對應於第一修整位元映射資訊303中包括的多個位元之中的至少兩個或更多個位元。
在實施例中,記憶體控制器200可以基於來自主機400的請求修整的邏輯位址的數量來改變位址映射資訊301、第一修整位元映射資訊303或第二修整位元映射資訊304中的一個中的請求修整的邏輯位址的映射狀態。例如,當從主機400接收修整請求時,記憶體控制器200可以基於來自主機400的請求修整的邏輯位址的數量來確定位址映射資訊301、第一修整位元映射資訊303和第二修整位元映射資訊304中的一個。之後,記憶體控制器200可以改變位址映射資訊301、第一修整位元映射資訊303或第二修整位元映射資訊304中的所確定的一個中的邏輯位址的映射狀態。
在實施例中,在改變位址映射資訊301、第一修整位元映射資訊303或第二修整位元映射資訊304中的所確定的一個中請求修整的邏輯位址的映射狀態之後,記憶體控制器200可以向主機400提供對修整請求做出回應的回應信號。
在實施例中,當改變第一修整位元映射資訊303和第二修整位元映射資訊304中的一個中的請求修整的邏輯位址的映射狀態時,在向主機400提供回應信號之後,記憶體控制器200可以基於第一修整位元映射資訊303或第二修整位元映射資訊304,來將位址映射資訊301中的請求修整的邏輯位址的映射資訊改變修整狀態。
例如,在諸如讀取操作和編程操作的內部操作期間,記憶體控制器200可以基於第一修整位元映射資訊303或第二修整位元映射資訊304,來將在位址映射資訊301中的請求修整的邏輯位址的映射資訊改變為修整狀態。此後,記憶體控制器200可以將在第一修整位元映射資訊303或第二修整位元映射資訊304中與請求修整的邏輯位址相對應的修整資訊改變為映射狀態。
圖4是示出根據本公開的實施例的改變位址映射資訊301中的映射狀態的示例的示圖。
在圖4中,緩衝記憶體300可以儲存位址映射資訊301、第一修整位元映射資訊303和第二修整位元映射資訊304。此時,位址映射資訊301、第一修整位元映射資訊303和第二修整位元映射資訊304可以分別指示圖3的位址映射資訊301、第一修整位元映射資訊303和第二修整位元映射資訊304。另外,假定第一數量是四,而第二數量是八。
在實施例中,當請求修整的邏輯位址的數量小於第一數量時,記憶體控制器200可以將位址映射資訊301中的請求修整的邏輯位址的映射資訊改變為修整狀態。
參照圖4,記憶體控制器200從主機400接收針對第九邏輯位址LA9和第十邏輯位址LA10的修整請求。
由於請求修整的邏輯位址LA9和LA10的數量小於四,即第一數量,因此記憶體控制器200可以將位址映射資訊301中的請求修整的邏輯位址LA9和LA10的映射資訊改變為修整狀態T。此後,記憶體控制器200可以向主機400提供對修整請求做出回應的回應信號。
圖5A和圖5B是示出根據本公開的實施例的使用第一修整位元映射資訊303來改變位址映射資訊301中的映射狀態的示例的示圖。
具體地,圖5A是示出根據來自主機400的修整請求來更新第一修整位元映射資訊303的示例的示圖,而圖5B是示出使用所更新的第一修整位元映射資訊303來改變位址映射資訊301中的映射狀態的示例的示圖。
在圖5A和圖5B中,緩衝記憶體300可以儲存位址映射資訊301、第一修整位元映射資訊303和第二修整位元映射資訊304。此時,位址映射資訊301、第一修整位元映射資訊303和第二修整位元映射資訊304可以分別指示圖3的位址映射資訊301、第一修整位元映射資訊303和第二修整位元映射資訊304。另外,假定第一數量是四,而第二數量是八。
在實施例中,當請求修整的邏輯位址的數量等於或大於第一數量並且小於第二數量時,記憶體控制器200可以改變第一修整位元映射資訊303中的、多個第一邏輯位址組之中的包括請求修整的邏輯位址的請求修整的第一邏輯位址組的修整資訊。
參照圖5A,記憶體控制器200從主機400接收針對第九邏輯位址LA9至第十二邏輯位址LA12的修整請求。
由於請求修整的邏輯位址LA9至LA12的數量是四,即等於第一數量,因此記憶體控制器200可以將在第一修整位元映射資訊303中的關於包括請求修整的邏輯位址LA9至LA12的邏輯位址組的第三修整資訊Trim 3改變為修整狀態1。此後,記憶體控制器200可以向主機400提供對修整請求做出回應的回應信號。
在實施例中,記憶體控制器200可以基於在第一修整位元映射資訊303中儲存的請求修整的第一邏輯位址組的修整資訊,將在位址映射資訊301中的多個邏輯位址之中的請求修整的邏輯位址的映射資訊改變為修整狀態。
另外,在實施例中,在將位址映射資訊301中的請求修整的邏輯位址的映射資訊改變為修整狀態之後,記憶體控制器200可以將在第一修整位元映射資訊303中的請求修整的第一邏輯位址組的修整資訊改變為映射狀態。
參照圖5B,記憶體控制器200可以基於在第一修整位元映射資訊303中儲存的第三修整資訊Trim 3,將位址映射資訊301中的與第三修整資訊Trim 3相對應的邏輯位址LA9至LA12的映射資訊改變為修整狀態T。此後,記憶體控制器200可以將第三修整資訊Trim 3改變為映射狀態0。
圖6A至圖6C是示出根據本公開的實施例的使用第二修整位元映射資訊304來改變位址映射資訊301中的映射狀態的示例的示圖。
具體地,圖6A是示出根據來自主機400的修整請求來更新第二修整位元映射資訊304的示例的示圖,圖6B是示出基於所更新的第二修整位元映射資訊304來更新第一修整位元映射資訊303的示例的示圖,而圖6C是示出使用所更新的第一修整位元映射資訊303來改變位址映射資訊301中的映射狀態的示例的示圖。
在圖6A至圖6C中,緩衝記憶體300可以儲存位址映射資訊301、第一修整位元映射資訊303和第二修整位元映射資訊304。此時,位址映射資訊301、第一修整位元映射資訊303和第二修整位元映射資訊304可以分別指示圖3的位址映射資訊301、第一修整位元映射資訊303和第二修整位元映射資訊304。另外,假定第一數量是四,而第二數量是八。
在實施例中,當請求修整的邏輯位址的數量等於或大於第二數量時,記憶體控制器200可以改變第二修整位元映射資訊304中的多個第二邏輯位址組之中的、包括請求修整的邏輯位址的請求修整的第二邏輯位址組的修整資訊。
參照圖6A,記憶體控制器200從主機400接收針對第九邏輯位址LA9至第十六邏輯位址LA16的修整請求。
由於請求修整的邏輯位址LA9至LA16的數量是八,即等於第二數量,因此記憶體控制器200可以將第二修整位元映射資訊304中的第b修整資訊Trim b改變為修整狀態1,該第b修整資訊Trim b指示關於包括請求修整的邏輯位址LA9至LA16的邏輯位址組的修整資訊。此後,記憶體控制器200可以向主機400提供對修整請求做出回應的回應信號。
在實施例中,記憶體控制器200可以基於在第二修整位元映射資訊304中儲存的請求修整的第二邏輯位址組的修整資訊,將在第一修整位元映射資訊303中的、多個第一邏輯位址組之中的請求修整的第一邏輯位址組的修整資訊改變為修整狀態,該請求修整的第一邏輯位址組中的每一個包括一些請求修整的邏輯位址。
另外,在實施例中,在將第一修整位元映射資訊303中的請求修整的第一邏輯位址組的修整資訊改變為修整狀態之後,記憶體控制器200可以將第二修整位元映射資訊304中的請求修整的第二邏輯位址組的修整資訊改變為映射狀態。
參照圖6B,記憶體控制器200可以基於在第二修整位元映射資訊304中儲存的第b修整資訊Trim b,將第一修整位元映射資訊303中的第三修整資訊Trim 3和第四修整資訊Trim 4改變為修整狀態1,第三修整資訊Trim 3和第四修整資訊Trim 4指示關於每個包括與第b修整資訊Trim b相對應的邏輯位址LA9至LA16中的一些的邏輯位址組的修整資訊。此後,記憶體控制器200可以將第b修整資訊Trim b改變為映射狀態0。
在實施例中,記憶體控制器200可以基於在第一修整位元映射資訊303中儲存的請求修整的第一邏輯位址組的修整資訊,將位址映射資訊301中的多個邏輯位址之中的請求修整的邏輯位址的映射資訊改變為修整狀態。
另外,在實施例中,在將位址映射資訊301中的請求修整的邏輯位址的映射資訊改變為修整狀態之後,記憶體控制器200可以將第一修整位元映射資訊303中的請求修整的第一邏輯位址組的修整資訊改變為映射狀態。
參照圖6C,記憶體控制器200可以基於在第一修整位元映射資訊303中儲存的第三修整資訊Trim 3和第四修整資訊Trim 4,將位址映射資訊301中的、與第三修整資訊Trim 33和第四修整資訊Trim 4相對應的邏輯位址LA9至LA16的映射資訊改變為修整狀態T。此後,記憶體控制器200可以將第三修整資訊Trim 3和第四修整資訊Trim 4改變為映射狀態0。
根據本公開的實施例,可以按第二修整位元映射資訊304、第一修整位元映射資訊303和位址映射資訊301的順序來反映根據修整請求的修整狀態。因此,可以提高儲存裝置50的操作速度,從而提高儲存裝置50的服務品質(quality of service, QoS)。
圖7是示出根據本公開的實施例的將第一修整位元映射資訊303和第二修整位元映射資訊304儲存在記憶體裝置100中的示例的示圖。
在圖7中,緩衝記憶體300可以儲存位址映射資訊301、第一修整位元映射資訊303和第二修整位元映射資訊304。此時,位址映射資訊301、第一修整位元映射資訊303和第二修整位元映射資訊304可以分別指示圖3的位址映射資訊301、第一修整位元映射資訊303和第二修整位元映射資訊304。另外,假定第一數量是四,而第二數量是八。
在實施例中,記憶體控制器200可以控制記憶體裝置100以將多個第二邏輯位址組中的每一個的修整資訊和與多個第二邏輯位址組中的每一個相對應的第一邏輯位址組的修整資訊儲存在記憶體裝置100中的相同記憶體區域中。此時,記憶體區域可以包括記憶體單元、頁面、記憶塊等。
參照圖7,記憶體控制器200可以從記憶體裝置100讀取修整位元映射資訊(修整位元映射),並且向緩衝記憶體300提供修整位元映射資訊(修整位元映射)。此時,修整位元映射資訊(修整位元映射)可以包括第一修整位元映射資訊303和第二修整位元映射資訊304。
另外,記憶體控制器200可以從緩衝記憶體300讀取所更新的修整位元映射資訊(所更新的修整位元映射),並且向記憶體裝置100提供所更新的修整位元映射資訊(所更新的修整位元映射)。此時,記憶體裝置100可以將包括關於相應邏輯位址的修整資訊的第a修整資訊Trim a和第b修整資訊Trim b與第一修整資訊Trim 1至第四修整資訊Trim 4一起儲存在相同記憶體區域101中。另外,記憶體裝置100可以將包括關於相應邏輯位址的修整資訊的第c修整資訊Trim c和第d修整資訊Trim d與第五修整資訊Trim 5至第八修整資訊Trim 8一起儲存在相同記憶體區域102中。
雖然圖7中未示出,但是記憶體裝置100可以儲存位址映射資訊301。
根據本公開的實施例,關於相同邏輯位址的修整資訊儲存在記憶體裝置100中的相同記憶體區域中。因此,可以保持修整資訊之間的一致性以增加修整資訊的準確性。
圖8是示出根據本公開的實施例的操作儲存裝置的方法的流程圖。
圖1所示的儲存裝置50可以執行圖8所示的方法。
參照圖8,在操作S801中,儲存裝置50可以生成位址映射資訊,該位址映射資訊包括從主機400提供的多個邏輯位址與對應於多個頁面的多個實體位址之間的映射關係。
在操作S803中,儲存裝置50可以生成第一修整位元映射資訊303,該第一修整位元映射資訊303包括多個第一邏輯位址組的修整資訊,該多個第一邏輯位址組中的每一個包括多個邏輯位址中的第一數量的邏輯位址,第一數量的邏輯位址是至少兩個或更多個邏輯位址。
在操作S805中,儲存裝置50可以生成第二修整位元映射資訊304,第二修整位元映射資訊304包括多個第二邏輯位址組的修整資訊,該多個第二邏輯位址組中的每一個包括多個邏輯位址中的大於第一數量的第二數量的邏輯位址。此時,第二數量可以是第一數量的整數倍。
在操作S807中,儲存裝置50可以從主機400接收修整請求。
在操作S809中,儲存裝置50可以確定請求修整的邏輯位址的數量是否小於第一數量。
作為操作S809中的確定的結果,當請求修整的邏輯位址的數量小於第一數量時,在操作S811中,儲存裝置50可以改變位址映射資訊301中的請求修整的邏輯位址的映射狀態。
作為操作S809中的確定的結果,當請求修整的邏輯位址的數量等於或大於第一數量時,在操作S813中,儲存裝置50可以確定請求修整的邏輯位址的數量是否小於第二數量。
作為操作S813中的確定的結果,當請求修整的邏輯位址的數量小於第二數量時,在操作S815中,儲存裝置50可以改變第一修整位元映射資訊303中的請求修整的邏輯位址的映射狀態。
作為操作S813中的確定的結果,當請求修整的邏輯位址的數量等於或大於第二數量時,在操作S817中,儲存裝置50可以改變第二修整位元映射資訊304中的請求修整的邏輯位址的映射狀態。
圖9是示出根據本公開的實施例的改變位址映射資訊中的映射狀態的方法的流程圖。
圖1所示的儲存裝置50可以執行圖9所示的方法。
圖9示出當來自主機400的請求修整的邏輯位址的數量小於第一數量時操作儲存裝置50的方法。
參照圖9,在操作S901中,儲存裝置50可以將位址映射資訊301中的請求修整的邏輯位址的映射資訊改變為修整狀態。
在操作S903中,儲存裝置50可以向主機400提供對修整請求的回應信號。
圖10是示出根據本公開的實施例的使用第一修整位元映射資訊303來改變位址映射資訊301中的映射狀態的方法的流程圖。
圖1所示的儲存裝置50可以執行圖10所示的方法。
圖10示出當來自主機400的請求修整的邏輯位址的數量等於或大於第一數量並且小於第二數量時操作儲存裝置50的方法。
參照圖10,在操作S1001中,儲存裝置50可以將第一修整位元映射資訊303中的、多個第一邏輯位址組之中包括請求修整的邏輯位址的請求修整的第一邏輯位址組的修整資訊改變為修整狀態。
在操作S1003中,儲存裝置50可以向主機400提供對修整請求的回應信號。
在操作S1005中,儲存裝置50可以基於在第一修整位元映射資訊303中儲存的請求修整的第一邏輯位址組的修整資訊,將位址映射資訊301中的多個邏輯位址之中的請求修整的邏輯位址的映射資訊改變為修整狀態。
在操作S1007中,儲存裝置50可以將第一修整位元映射資訊303中的、請求修整的第一邏輯位址組的修整資訊改變為映射狀態。
圖11是示出根據本公開的實施例的使用第二修整位元映射資訊304來改變位址映射資訊301中的映射狀態的方法的流程圖。
圖1所示的儲存裝置50可以執行圖11所示的方法。
圖11示出當來自主機400的請求修整的邏輯位址的數量等於或大於第二數量時操作儲存裝置50的方法。
參照圖11,在操作S1101中,儲存裝置50可以將第二修整位元映射資訊304中的、多個第二邏輯位址組之中包括請求修整的邏輯位址的請求修整的第二邏輯位址組的修整資訊改變為修整狀態。
參照圖11,在操作S1103中,儲存裝置50可以向主機400提供對修整請求的回應信號。
參照圖11,在操作S1105中,儲存裝置50可以基於在第二修整位元映射資訊304中儲存的請求修整的第二邏輯位址組的修整資訊,將第一修整位元映射資訊303中的、多個第一邏輯位址組之中的每個包括一些請求修整的邏輯位址的請求修整的第一邏輯位址組的修整資訊改變為修整狀態。
參照圖11,在操作S1107中,儲存裝置50可以將第二修整位元映射資訊304中的請求修整的第二邏輯位址組的修整資訊改變為映射狀態。
參照圖11,在操作S1109中,儲存裝置50可以基於在第一修整位元映射資訊303中儲存的請求修整的第一邏輯位址組的修整資訊,將位址映射資訊301中的多個邏輯位址之中的請求修整的邏輯位址的映射資訊改變為修整狀態。
參照圖11,在操作S1111中,儲存裝置50可以將第一修整位元映射資訊303中的請求修整的第一邏輯位址組的修整資訊改變為映射狀態。
圖12是示出圖1的記憶體裝置的示圖。
參照圖12,記憶體裝置100可以包括記憶體單元陣列110、電壓生成器120、位址解碼器130、輸入/輸出電路140和控制邏輯150。
記憶體單元陣列110包括多個記憶塊BLK1至BLKi。多個記憶塊BLK1至BLKi透過列線RL連接到位址解碼器130。多個記憶塊BLK1至BLKi可以透過行線CL連接到輸入/輸出電路140。在實施例中,列線RL可以包括字線、源極選擇線和汲極選擇線。在實施例中,行線CL可以包括位線。
多個記憶塊BLK1至BLKi中的每一個包括多個記憶體單元。在實施例中,多個記憶體單元可以是非揮發性記憶體單元。多個記憶體單元之中連接到相同字線的記憶體單元可以被定義為一個實體頁面。也就是說,記憶體單元陣列110可以包括多個實體頁面。記憶體裝置100的記憶體單元中的每一個可以被配置為儲存一個資料位的單層單元(single level cell, SLC)、儲存兩個資料位的多層單元(multi-level cell, MLC)、儲存三個資料位的三層單元(triple level cell, TLC)或能夠儲存四個資料位的四層單元(quad level cell, QLC)。
在實施例中,電壓生成器120、位址解碼器130和輸入/輸出電路140可以共同稱為外圍電路。外圍電路可以在控制邏輯150的控制下驅動記憶體單元陣列110。外圍電路可以驅動記憶體單元陣列110以執行編程操作、讀取操作和擦除操作。
電壓生成器120被配置為使用供應到記憶體裝置100的外部電源電壓來生成多個操作電壓Vop。電壓生成器120回應於控制邏輯150的控制而操作。
在實施例中,電壓生成器120可以透過調節外部電源電壓來生成內部電源電壓。由電壓生成器120生成的內部電源電壓用作記憶體裝置100的操作電壓。
在實施例中,電壓生成器120可以使用外部電源電壓或內部電源電壓來生成多個操作電壓。電壓生成器120可以被配置為生成記憶體裝置100中所需的多種電壓。例如,電壓生成器120可以生成多個擦除電壓、多個編程電壓、多個透過電壓、多個選擇讀取電壓和多個未選擇讀取電壓。
電壓生成器120可以包括接收內部電源電壓的多個泵浦電容器以生成具有各種電壓電平的多個操作電壓,並且可以回應於控制邏輯150的控制透過選擇性地啟動多個泵浦電容器來生成多個操作電壓。
所生成的多個操作電壓可以透過位址解碼器130供應到記憶體單元陣列110。
位址解碼器130透過列線RL連接到記憶體單元陣列110。位址解碼器130被配置為回應於控制邏輯150的控制而操作。位址解碼器130可以從控制邏輯150接收位址ADDR。位址解碼器130可以對接收到的位址ADDR之中的塊位址進行解碼。位址解碼器130根據經解碼的塊位址在記憶塊BLK1至BLKi之中選擇至少一個記憶塊。位址解碼器130可以對接收到的位址ADDR之中的列位址進行解碼。位址解碼器130可以根據經解碼的列位址在所選擇記憶塊的字線之中選擇至少一個字線。在實施例中,位址解碼器130可以對接收到的位址ADDR之中的行位址進行解碼。位址解碼器130可以根據經解碼的行位址將輸入/輸出電路140和記憶體單元陣列110彼此連接。
根據本公開的實施例,在讀取操作期間,位址解碼器130可以將讀取電壓施加到所選擇字線,並且將電平高於讀取電壓的電平的讀取透過電壓施加到未選擇字線。
例如,位址解碼器130可以包括諸如列解碼器、行解碼器和位址緩衝器的組件。
輸入/輸出電路140可以包括多個頁面緩衝器。多個頁面緩衝器可以透過位線連接到記憶體單元陣列110。在編程操作期間,可以根據在多個頁面緩衝器中儲存的資料將資料儲存在所選擇的記憶體單元中。
在讀取操作期間,可以透過位線感測在所選擇記憶體單元中儲存的資料,並且感測到的資料可以儲存在頁面緩衝器中。
控制邏輯150可以控制位址解碼器130、電壓生成器120以及輸入/輸出電路140。控制邏輯150可以回應於從外部裝置傳輸的命令CMD而操作。控制邏輯150可以回應於命令CMD和位址ADDR生成各種信號以控制外圍電路。
圖13是示出圖12的記憶塊中的一個的配置的示圖。
記憶塊BLKi是圖12的記憶塊BLK1至BLKi之中的一個記憶塊BLKi。
參照圖13,彼此平行佈置的多個字線可以連接在第一選擇線和第二選擇線之間。此處,第一選擇線可以是源極選擇線SSL,而第二選擇線可以是汲極選擇線DSL。更具體地,記憶塊BLKi可以包括連接在位線BL1至BLn與公共源極線CSL之間的多個串ST。位線BL1至BLn可以分別連接到多個串ST,並且公共源極線CSL可以共同連接到多個串ST。由於串ST可以被配置為彼此相同,所以作為示例,對連接到第一位線BL1的串ST進行具體描述。
串ST可以包括串聯連接在公用源極線CSL和第一位線BL1之間的源極選擇晶體管SST、多個記憶體單元MC1至MC16以及汲極選擇晶體管DST。一個串ST可以包括源極選擇晶體管SST和汲極選擇晶體管DST中的至少一個或多個,並且可以包括比附圖中所示的記憶體單元MC1至MC16的數量更多的記憶體單元。
源極選擇晶體管SST的源極可以連接到公共源極線CSL並且汲極選擇晶體管DST的汲極可以連接到第一位線BL1。記憶體單元MC1至MC16可以串聯連接在源極選擇晶體管SST和汲極選擇晶體管DST之間。不同串ST中包括的源極選擇晶體管SST的閘極可以連接到源極選擇線SSL,汲極選擇晶體管DST的閘極可以連接到汲極選擇線DSL,並且記憶體單元MC1至MC16的閘極可以連接到多個字線WL1至WL16。不同串ST中包括的記憶體單元之中連接到相同字線的一組記憶體單元可以稱為頁面PG。因此,記憶塊BLKi可以包括字線WL1至WL16的數量的頁面PG。
一個記憶體單元可以儲存一位資料。這通常稱為單層單元(single level cell, SLC)。在這種情況下,一個實體頁面PG可以儲存一個邏輯頁面(logical page, LPG)資料。一個邏輯頁面(logical page, LPG)資料可以包括具有與一個實體頁面PG中包括的單元的數量相同的數量的資料位。
一個記憶體單元可以儲存兩位或更多位資料。在這種情況下,一個實體頁面PG可以儲存兩個或更多個邏輯頁面(logical page, LPG)資料。
圖14是示出圖1的記憶體控制器的示圖。
參照圖1和圖14,記憶體控制器200可以包括處理器220、RAM 230、錯誤校正電路240、ROM 260、主機介面270和快閃介面280。
處理器220可以控制記憶體控制器200的整體操作。RAM 230可以用作記憶體控制器200的緩衝記憶體、高速緩存記憶體和操作記憶體等。
錯誤校正電路240可以執行錯誤校正。錯誤校正電路240可以基於透過快閃介面280而待寫入記憶體裝置100的資料來執行錯誤校正編碼(ECC編碼)。經錯誤校正編碼的資料可以透過快閃介面280被傳送到記憶體裝置100。錯誤校正電路240可以透過快閃介面280對從記憶體裝置100接收的資料執行錯誤校正解碼(ECC解碼)。例如,錯誤校正電路240可以作為快閃介面280的組件包括在快閃介面280中。
ROM 260可以儲存以韌體形式操作的記憶體控制器200所需的各種資訊。
記憶體控制器200可以透過主機介面270與外部裝置(例如,主機400、應用處理器等)通信。
記憶體控制器200可以透過快閃介面280與記憶體裝置100通信。記憶體控制器200可以透過快閃介面280向記憶體裝置100傳輸命令CMD、位址ADDR和控制信號CTRL,並且接收資料DATA。例如,快閃介面280可以包括NAND介面。
圖15是示出應用了根據本公開的實施例的儲存裝置的記憶體卡系統的方塊圖。
參照圖15,記憶卡系統2000包括記憶體控制器2100、記憶體裝置2200和連接器2300。
記憶體控制器2100連接到記憶體裝置2200。記憶體控制器2100被配置為存取記憶體裝置2200。例如,記憶體控制器2100可以被配置為控制記憶體裝置2200的讀取操作、寫入操作、擦除操作和後臺操作。記憶體控制器2100被配置為提供記憶體裝置2200與主機之間的介面。記憶體控制器2100被配置為驅動用於控制記憶體裝置2200的韌體。記憶體控制器2100可以與參照圖1描述的記憶體控制器200相同地實施。記憶體裝置2200可以與參照圖1描述的記憶體裝置100相同地實施。
例如,記憶體控制器2100可以包括諸如隨機存取記憶體RAM、處理器、主機介面、記憶體介面和錯誤校正電路的組件。
記憶體控制器2100可以透過連接器2300與外部裝置通信。記憶體控制器2100可以根據特定的通信標準與外部裝置(例如,主機)通信。例如,記憶體控制器2100被配置為透過諸如以下的各種通信標準中的至少一種與外部裝置通信:通用串列匯流排(universal serial bus, USB)、多媒體卡(multimedia card, MMC)、嵌入式MMC(embedded MMC, eMMC)、外圍組件互連(peripheral component interconnection, PCI)、高速PCI(PCI express, PCI-E)、高級技術附件(advanced technology attachment, ATA)、串列ATA、並列ATA、小型計算機系統介面(small computer system interface, SCSI)、增強型小型磁盤介面(enhanced small disk interface, ESDI)、電子整合驅動器(integrated drive electronics, IDE)、火線、通用快閃儲存(universal flash storage, UFS)、Wi-Fi、藍牙以及NVMe。例如,連接器2300可以由上述各種通信標準中的至少一種來定義。
例如,記憶體裝置2200可以由諸如以下的各種非揮發性記憶體元件來配置:電可擦除可編程ROM(electrically erasable and programmable ROM, EEPROM)、NAND快閃記憶體、NOR快閃記憶體、相變RAM(phase-change RAM, PRAM)、電阻式RAM(resistive RAM, ReRAM)、鐵電RAM(ferroelectric RAM, FRAM)以及自旋轉移力矩磁性RAM(spin-transfer torque magnetic RAM, STT-MRAM)。
記憶體控制器2100和記憶體裝置2200可以整合到一個半導體裝置中來配置記憶卡。例如,記憶體控制器2100和記憶體裝置2200可以整合到一個半導體裝置中以配置諸如以下的記憶卡:PC卡(個人計算機記憶卡國際協會(personal computer memory card international association, PCMCIA))、緊湊型快閃儲存卡(compact flash card, CF)、智慧媒體卡(smart media card, SM或SMC)、記憶棒、多媒體卡(MMC、RS-MMC、微型MMC或eMMC)、SD卡(SD、迷你SD、微型SD或SDHC)以及通用快閃儲存(UFS)。
圖16是示出應用了根據本公開的實施例的儲存裝置的固態硬碟(solid state drive, SSD)系統的方塊圖。
參照圖16,SSD系統3000包括主機3100和SSD 3200。SSD 3200透過信號連接器3001與主機3100交換信號,並且透過電源連接器3002接收電力。SSD 3200包括SSD控制器3210、多個非揮發性記憶體3221至322n、輔助電源3230和緩衝記憶體3240。
根據本公開的實施例,SSD控制器3210可以執行參照圖1描述的記憶體控制器200的功能。
SSD控制器3210可以回應於從主機3100接收的信號來控制多個非揮發性記憶體3221至322n。例如,信號可以是基於主機3100和SSD 3200之間的介面的信號。例如,信號可以是由諸如以下的介面中的至少一種定義的信號:通用串列匯流排(universal serial bus, USB)、多媒體卡(multimedia card, MMC)、嵌入式MMC(embedded MMC, eMMC)、外圍組件互連(peripheral component interconnection, PCI)、高速PCI(PCI express, PCI-E)、高級技術附件(advanced technology attachment, ATA)、串列ATA、並列ATA、小型計算機系統介面(small computer system interface, SCSI)、增強型小型磁盤介面(enhanced small disk interface, ESDI)、電子整合驅動器(integrated drive electronics, IDE)、火線、通用快閃儲存(universal flash storage, UFS)、Wi-Fi、藍牙以及NVMe。
輔助電源3230透過電源連接器3002連接到主機3100。輔助電源3230可以從主機3100接收電力並且可以用該電力進行充電。當來自主機3100的電力供應不平穩時,輔助電源裝置3230可以向SSD 3200提供電力。例如,輔助電源3230可以定位於SSD 3200中或者可以定位於SSD 3200外部。例如,輔助電源3230可以定位於主板上並且可以向SSD 3200提供輔助電力。
緩衝記憶體3240作為SSD 3200的緩衝記憶體操作。例如,緩衝記憶體3240可以臨時儲存從主機3100接收的資料或從多個非揮發性記憶體3221至322n接收的資料,或者可以臨時儲存非揮發性記憶體3221至322n的元資料(例如,映射表)。緩衝記憶體3240可以包括諸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的揮發性記憶體,或諸如FRAM、ReRAM、STT-MRAM和PRAM的非揮發性記憶體。
根據本公開的實施例,緩衝記憶體3240可以執行參照圖1描述的緩衝記憶體300的功能。
圖17是示出應用了根據本公開的實施例的儲存裝置的使用者系統的方塊圖。
參照圖17,使用者系統4000包括應用處理器4100、記憶體模組4200、網路模組4300、儲存模組4400和使用者介面4500。
應用處理器4100可以驅動使用者系統4000中包括的組件、操作系統(operating system, OS)、使用者程序等。例如,應用處理器4100可以包括控制使用者系統4000中包括的組件的控制器、介面、圖形引擎等。應用處理器4100可以被設置為片上系統(system-on-chip, SoC)。
記憶體模組4200可以作為使用者系統4000的主記憶體、工作記憶體、緩衝記憶體或高速緩存記憶體操作。記憶體模組4200可以包括諸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的揮發性記憶體,或諸如PRAM、ReRAM、MRAM和FRAM的非揮發性記憶體。例如,應用處理器4100和記憶體模組4200可以基於堆疊封裝(package on package, POP)進行封裝並被設置為一個半導體封裝。
網路模組4300可以與外部裝置通信。例如,網路模組4300可以支援諸如碼分多址(code division multiple access, CDMA)、全球移動通信系統(global system for mobile communications, GSM)、寬帶CDMA(wideband CDMA, WCDMA)、CDMA-2000、時分多址(time division multiple access, TDMA)、長期演進、Wimax、WLAN、UWB、藍牙和Wi-Fi的無線通信。例如,網路模組4300可以包括在應用處理器4100中。
儲存模組4400可以儲存資料。例如,儲存模組4400可以儲存從應用處理器4100接收的資料。可選地,儲存模組4400可以將儲存模組4400中儲存的資料傳輸到應用處理器4100。例如,儲存模組4400可以利用諸如以下的非揮發性半導體記憶體元件來實施:相變RAM(phase-change RAM, PRAM)、磁性RAM(magnetic RAM, MRAM)、電阻式RAM(resistive RAM, RRAM)、NAND快閃儲存、NOR快閃儲存和三維NAND快閃儲存。例如,儲存模組4400可以被設置為使用者系統4000的諸如記憶卡和外部驅動器的可移動儲存裝置(可移動驅動器)。
例如,儲存模組4400可以包括多個非揮發性記憶體裝置,並且多個非揮發性記憶體裝置可以以與參照圖1描述的記憶體裝置100相同地操作。儲存模組4400可以以與參照圖1描述的儲存裝置50相同地操作。
使用者介面4500可以包括用於向應用處理器4100輸入資料或指令或者用於向外部裝置輸出資料的介面。例如,使用者介面4500可以包括諸如以下的使用者輸入介面:鍵盤、小鍵盤、按鈕、觸控面板、觸控屏、觸控板、觸控球、攝影機、麥克風、陀螺儀感測器、振動感測器和壓電元件。使用者介面4500可以包括諸如以下的使用者輸出介面:液晶顯示器(liquid crystal display, LCD)、有機發光二極管(organic light emitting diode, OLED)顯示裝置、主動矩陣OLED(active matrix OLED, AMOLED)顯示裝置、LED、揚聲器和監視器。
50:儲存裝置
100:記憶體裝置
110:記憶體單元陣列
120:電壓生成器
130:位址解碼器
140:輸入/輸出電路
150:控制邏輯
200:記憶體控制器
220:處理器
230:RAM
240:錯誤校正電路
260:ROM
270:主機介面
280:快閃介面
300:緩衝記憶體
301:位址映射資訊
303:第一修整位元映射資訊
304:第二修整位元映射資訊
400:主機
2000:記憶卡系統
2100:記憶體控制器
2200:記憶體裝置
2300:連接器
3000:SSD系統
3001:信號連接器
3002:電源連接器
3100:主機
3200:SSD
3210:SSD控制器
3221:非揮發性記憶體
3222:非揮發性記憶體
322n:非揮發性記憶體
3230:輔助電源
3240:緩衝記憶體
4000:使用者系統
4100:應用處理器
4200:記憶體模組
4300:網路模組
4400:儲存模組
4500:使用者介面
S801:操作
S803:操作
S805:操作
S807:操作
S809:操作
S811:操作
S813:操作
S815:操作
S817:操作
S901:操作
S903:操作
S1001:操作
S1003:操作
S1005:操作
S1007:操作
S1101:操作
S1103:操作
S1105:操作
S1107:操作
S1109:操作
S1111:操作
0:映射狀態
ADDR:位址
BL:位線
BLK:記憶塊
CL:行線
CMD:命令
CSL:公共源極線
CTRL:控制信號
DATA:資料
DSL:汲極選擇線
DST:汲極選擇晶體管
LA:邏輯位址
MC:記憶體單元
PG:頁面
RL:列線
SSD:固態硬碟
SSL:源極選擇線
ST:串
T:修整狀態
Trim:修整資訊
Vop:操作電壓
WL:字線
[圖1]是示出根據本公開的實施例的儲存裝置的示圖。
[圖2]是示出根據本公開的實施例的位址映射資訊和修整位元映射資訊的示圖。
[圖3]是示出根據本公開的實施例的不同的修整位元映射資訊的示圖。
[圖4]是示出根據本公開的實施例的改變位址映射資訊中的映射狀態的示例的示圖。
[圖5A和圖5B]是示出根據本公開的實施例的使用第一修整位元映射資訊來改變位址映射資訊中的映射狀態的示例的示圖。
[圖6A至圖6C]是示出根據本公開的實施例的使用第二修整位元映射資訊來改變位址映射資訊中的映射狀態的示例的示圖。
[圖7]是示出根據本公開的實施例的第一修整位元映射資訊和第二修整位元映射資訊儲存在記憶體裝置中的示例的示圖。
[圖8]是示出根據本公開的實施例的操作儲存裝置的方法的流程圖。
[圖9]是示出根據本公開的實施例的改變位址映射資訊中的映射狀態的方法的流程圖。
[圖10]是示出根據本公開的實施例的使用第一修整位元映射資訊來改變位址映射資訊中的映射狀態的方法的流程圖。
[圖11]是示出根據本公開的實施例的使用第二修整位元映射資訊來改變位址映射資訊中的映射狀態的方法的流程圖。
[圖12]是示出圖1的記憶體裝置的示圖。
[圖13]是示出圖12的記憶塊中的任意一個的配置的示圖。
[圖14]是示出圖1的記憶體控制器的示圖。
[圖15]是示出應用了根據本公開的實施例的儲存裝置的記憶體卡系統的方塊圖。
[圖16]是示出應用了根據本公開的實施例的儲存裝置的固態硬碟(SSD)系統的方塊圖。
[圖17]是示出應用了根據本公開的實施例的儲存裝置的使用者系統的方塊圖。
50:儲存裝置
100:記憶體裝置
200:記憶體控制器
300:緩衝記憶體
400:主機
Claims (20)
- 一種儲存裝置,包括: 記憶體裝置,包括多個頁面; 緩衝記憶體,其係被配置為儲存: 位址映射資訊,包括從主機提供的多個邏輯位址與對應於所述多個頁面的多個實體位址之間的映射關係, 第一修整位元映射資訊,包括多個第一邏輯位址組的修整資訊,所述多個第一邏輯位址組中的每一個包括所述多個邏輯位址中的第一數量的邏輯位址,所述第一數量的邏輯位址是至少兩個邏輯位址,以及 第二修整位元映射資訊,包括多個第二邏輯位址組的修整資訊,所述多個第二邏輯位址組中的每一個包括所述多個邏輯位址中的大於所述第一數量的第二數量的邏輯位址;以及 記憶體控制器,基於來自所述主機的請求修整的邏輯位址的數量來改變所述位址映射資訊、所述第一修整位元映射資訊和第二修整位元映射資訊中的一個中的所述請求修整的邏輯位址的映射狀態。
- 如請求項1所述的儲存裝置,其中當所述請求修整的邏輯位址的數量小於所述第一數量時,所述記憶體控制器將所述位址映射資訊中的所述多個邏輯位址之中的所述請求修整的邏輯位址的映射資訊改變為修整狀態。
- 如請求項1所述的儲存裝置,其中當所述請求修整的邏輯位址的數量等於或大於所述第一數量且小於所述第二數量時,所述記憶體控制器將所述第一修整位元映射資訊中的所述多個第一邏輯位址組之中包括所述請求修整的邏輯位址的請求修整的第一邏輯位址組的修整資訊改變為修整狀態。
- 如請求項3所述的儲存裝置,其中所述記憶體控制器基於所述第一修整位元映射資訊中的所述請求修整的第一邏輯位址組的所改變修整資訊,將所述位址映射資訊中的所述多個邏輯位址之中的所述請求修整的邏輯位址的映射資訊改變為所述修整狀態。
- 如請求項4所述的儲存裝置,其中在所述記憶體控制器將在所述位址映射資訊中的所述請求修整的邏輯位址的所述映射資訊改變為所述修整狀態之後,所述記憶體控制器將所述第一修整位元映射資訊中的所述請求修整的第一邏輯位址組的所述修整資訊改變為所述映射狀態。
- 如請求項1所述的儲存裝置,其中當所述請求修整的邏輯位址的數量等於或大於所述第二數量時,所述記憶體控制器將所述第二修整位元映射資訊中的所述多個第二邏輯位址組之中包括所述請求修整的邏輯位址的請求修整的第二邏輯位址組的修整資訊改變為修整狀態。
- 如請求項6所述的儲存裝置,其中所述記憶體控制器基於所述第二修整位元映射資訊中的所述請求修整的第二邏輯位址組的所改變的修整資訊,將所述第一修整位元映射資訊中的所述多個第一邏輯位址組之中每個包括一些所述請求修整的邏輯位址的請求修整的第一邏輯位址組的修整資訊改變為所述修整狀態。
- 如請求項7所述的儲存裝置,其中所述記憶體控制器基於所述第一修整位元映射資訊中的所述請求修整的第一邏輯位址組的所改變的修整資訊,將所述位址映射資訊中的所述多個邏輯位址之中的所述請求修整的邏輯位址的映射資訊改變為所述修整狀態。
- 如請求項8所述的儲存裝置, 其中在所述記憶體控制器將所述第一修整位元映射資訊中的所述請求修整的第一邏輯位址組的所述修整資訊改變為所述修整狀態之後,所述記憶體控制器將所述第二修整位元映射資訊中的所述請求修整的第二邏輯位址組的所述修整資訊改變為所述映射狀態,並且 其中在所述記憶體控制器將所述位址映射資訊中的所述請求修整的邏輯位址的所述映射資訊改變為所述修整狀態之後,所述記憶體控制器將所述第一修整位元映射資訊中的所述請求修整的第一邏輯位址組的所述修整資訊改變為所述映射狀態。
- 如請求項1所述的儲存裝置,其中在所述記憶體控制器改變所述位址映射資訊、所述第一修整位元映射資訊或所述第二修整位元映射資訊中的一個中的所述請求修整的邏輯位址的映射狀態之後,所述記憶體控制器向所述主機提供針對與所述請求修整的邏輯位址相對應的修整請求的回應信號。
- 如請求項10所述的儲存裝置,其中如果所述記憶體控制器改變所述第一調整位元映射資訊和所述第二調整位元映射資訊中的一個中的所述請求修整的邏輯位址的映射狀態,則在所述記憶體控制器向所述主機提供所述回應信號之後,所述記憶體控制器基於所述第一修整位元映射資訊或所述第二修整位元映射資訊中的所述請求修整的邏輯位址的所改變的狀態,將所述位址映射資訊中的所述請求修整的邏輯位址的映射資訊改變為修整狀態。
- 如請求項1所述的儲存裝置,其中所述多個第二邏輯位址組中的每一個對應於所述多個第一邏輯位址組之中的至少兩個或更多個第一邏輯位址組。
- 如請求項12所述的儲存裝置,其中所述記憶體控制器控制所述記憶體裝置將所述多個第二邏輯位址組中的一個第二邏輯位址組的修整資訊和與所述一個第二邏輯位址組相對應的第一邏輯位址組的修整資訊儲存在所述記憶體裝置的相同記憶體區域中。
- 一種操作儲存裝置的方法,所述儲存裝置包括:記憶體裝置,包括多個頁面;緩衝記憶體;以及記憶體控制器,控制所述記憶體裝置和所述緩衝記憶體,所述方法包括: 生成位址映射資訊,所述位址映射資訊包括從主機提供的多個邏輯位址與對應於所述多個頁面的多個實體位址之間的映射關係; 生成第一修整位元映射資訊,所述第一修整位元映射資訊包括多個第一邏輯位址組的修整資訊,所述多個第一邏輯位址組中的每一個包括所述多個邏輯位址中的第一數量的邏輯位址,所述第一數量的邏輯位址是至少兩個邏輯位址; 生成第二修整位元映射資訊,所述第二修整位元映射資訊包括多個第二邏輯位址組的修整資訊,所述多個第二邏輯位址組中的每一個包括所述多個邏輯位址中的大於所述第一數量的第二數量的邏輯位址; 從所述主機接收修整請求; 將所述第二修整位元映射資訊中的所述多個第二邏輯位址組之中包括來自所述主機的請求修整的邏輯位址的請求修整的第二邏輯位址組的修整資訊改變為修整狀態; 基於所述第二修整位元映射資訊中的所述請求修整的第二邏輯位址組的所改變的修整資訊,將所述第一修整位元映射資訊中的所述多個第一邏輯位址組之中每個包括一些所述請求修整的邏輯位址的請求修整的第一邏輯位址組的修整資訊改變為所述修整狀態;以及 基於所述第一修整位元映射資訊中的所述請求修整的第一邏輯位址組的所改變的修整資訊,將所述位址映射資訊中的所述多個邏輯位址之中的所述請求修整的邏輯位址的映射資訊改變為所述修整狀態。
- 如請求項14所述的方法,進一步包括: 在將所述請求修整的第一邏輯位址組的所述修整資訊改變為所述修整狀態之後,將所述第二修整位元映射資訊中的所述請求修整的第二邏輯位址組的所述修整資訊改變為映射狀態;以及 在將所述位址映射資訊中的所述請求修整的邏輯位址的所述映射資訊改變為所述修整狀態之後,將所述第一修整位元映射資訊中的所述請求修整的第一邏輯位址組的所述修整資訊改變為所述映射狀態。
- 如請求項14所述的方法,進一步包括在將所述第二修整位元映射資訊中的所述請求修整的第二邏輯位址組的所述修整資訊改變為所述修整狀態之後,向所述主機提供針對與所述請求修整的邏輯位址相對應的修整請求的回應信號。
- 如請求項14所述的方法,其中所述多個第二邏輯位址組中的每一個對應於所述多個第一邏輯位址組之中的至少兩個或更多個第一邏輯位址組。
- 如請求項17所述的方法,進一步包括將所述多個第二邏輯位址組中的一個第二邏輯位址組的修整資訊和與所述一個第二邏輯位址組相對應的第一邏輯位址組的修整資訊儲存在所述記憶體裝置的相同記憶體區域中。
- 一種儲存裝置,包括: 緩衝記憶體,其係被配置為緩存: 條目值,每個條目值表示從實體位址取消映射的或映射到實體位址的邏輯位址的狀態, 第一位值,每個第一位值表示所述邏輯位址之中的第一數量的邏輯位址的狀態,以及 第二位值,每個第二位值表示所述邏輯位址之中的第二數量的邏輯位址的狀態,所述第二數量大於所述第一數量;以及 控制器: 回應於針對數量在所述第一數量和所述第二數量之間的目標邏輯位址的取消映射請求,改變所述第一位值之中的一個或多個以將所述第一位值的改變反映到所述條目值中,並且 回應於針對數量大於所述第二數量的目標邏輯位址的取消映射請求,改變所述第二位值之中的一個或多個以將所述第二位值的改變反映到所述條目值中, 其中所述控制器進一步在改變所述第一位值或所述第二位值時輸出針對所述取消映射請求的回應。
- 如請求項19所述的儲存裝置,其中所述控制器進一步基於所述第一位值的改變或所述第二位值的改變,將與所述目標邏輯位址相對應的條目值改變為取消映射狀態。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200129578A KR20220046311A (ko) | 2020-10-07 | 2020-10-07 | 스토리지 장치 및 그 동작 방법 |
KR10-2020-0129578 | 2020-10-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202215250A true TW202215250A (zh) | 2022-04-16 |
Family
ID=80932305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110117507A TW202215250A (zh) | 2020-10-07 | 2021-05-14 | 儲存裝置及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11544184B2 (zh) |
KR (1) | KR20220046311A (zh) |
CN (1) | CN114398295A (zh) |
TW (1) | TW202215250A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023045867A (ja) * | 2021-09-22 | 2023-04-03 | キオクシア株式会社 | メモリシステム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101824949B1 (ko) | 2011-11-23 | 2018-02-05 | 삼성전자주식회사 | 플래시 메모리를 기반으로 하는 저장 장치 및 그것을 포함한 사용자 장치 |
US10061708B2 (en) * | 2016-05-12 | 2018-08-28 | SK Hynix Inc. | Mapped region table |
CN112882650B (zh) * | 2019-11-29 | 2024-04-30 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
-
2020
- 2020-10-07 KR KR1020200129578A patent/KR20220046311A/ko unknown
-
2021
- 2021-03-29 US US17/215,310 patent/US11544184B2/en active Active
- 2021-05-10 CN CN202110503175.4A patent/CN114398295A/zh not_active Withdrawn
- 2021-05-14 TW TW110117507A patent/TW202215250A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US20220107887A1 (en) | 2022-04-07 |
KR20220046311A (ko) | 2022-04-14 |
CN114398295A (zh) | 2022-04-26 |
US11544184B2 (en) | 2023-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11531492B2 (en) | Device and method of operating the same | |
US11307803B2 (en) | Storage device for suspending program operation and performing read operation and operating method thereof | |
US11853202B2 (en) | Memory system performing garbage collection operation by exchanging information related to garbage collection with host and method of operating the memory system | |
US20190324670A1 (en) | Storage device and operating method thereof | |
KR20210070054A (ko) | 저장 장치 및 그 동작 방법 | |
US11481272B2 (en) | Memory controller and method of operating the same | |
US11709606B2 (en) | Memory controller and operating method thereof | |
US11360886B2 (en) | Storage device and operating method thereof | |
KR20200114009A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
KR20220021796A (ko) | 스토리지 장치 및 그 동작 방법 | |
CN114356209A (zh) | 存储装置及其操作方法 | |
CN113299332A (zh) | 存储器控制器及其操作方法 | |
KR20210154401A (ko) | 스토리지 장치 및 그 동작 방법 | |
US11544184B2 (en) | Storage device and method of operating the same for processing a trim request of host | |
US11989446B2 (en) | Host device, storage device, and method of operating the same | |
KR20220120016A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
US11210223B2 (en) | Storage device and operating method thereof | |
US11726694B2 (en) | Storage device and operating method thereof | |
US11500768B2 (en) | Storage device performing garbage collection and method of operating the same | |
US11928056B2 (en) | Memory controller for allocating cache lines and method of operating the same | |
KR20220067386A (ko) | 스토리지 장치 및 그 동작 방법 | |
KR20230168889A (ko) | 메모리 장치 및 그것의 동작 방법 | |
KR20230038971A (ko) | 스토리지 장치 및 그 동작 방법 | |
TW202349203A (zh) | 計算系統及其操作方法 | |
CN116804909A (zh) | 存储装置及其操作方法 |