TWI894581B - 記憶體系統及記憶體系統的操作 - Google Patents
記憶體系統及記憶體系統的操作Info
- Publication number
- TWI894581B TWI894581B TW112125165A TW112125165A TWI894581B TW I894581 B TWI894581 B TW I894581B TW 112125165 A TW112125165 A TW 112125165A TW 112125165 A TW112125165 A TW 112125165A TW I894581 B TWI894581 B TW I894581B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- storage unit
- memory
- storage
- host
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Static Random-Access Memory (AREA)
- Memory System (AREA)
Abstract
在某些方面,一種記憶體系統包括耦合到主機記憶體的記憶體系統,包括:存儲裝置,該存儲裝置包括第一存儲單元和第二存儲單元;記憶體控制器,該記憶體控制器耦合到主機和存儲裝置,該記憶體控制器被配置為將第一資料寫入第一存儲單元和/或將第二資料寫入第二存儲單元,其中,第一資料包括使用者資料,並且第二資料包括來自主機記憶體的交換資料。
Description
本公開涉及記憶體系統及記憶體系統的操作。
對主機記憶體(例如,動態隨機存取記憶體,dynamic random access memory(DRAM))的存儲容量的需求在不斷增長,但主機記憶體的成本仍然很高。使用外部記憶體(例如,固態驅動器,solid-state drive(SSD))的一部分來彌補主機記憶體的不足是一種可行的解決方案。如何設計外部記憶體以適應附加功能是值得。
在一個方面,一種耦合到主機之主機記憶體的記憶體系統,包括:存儲裝置,所述存儲裝置包括第一存儲單元和第二存儲單元;以及記憶體控制器,所述記憶體控制器耦合到主機和存儲裝置,所述記憶體控制器被配置為將第一資料寫入第一存儲單元和/或將第二資料寫入第二存儲單元,其中,第一資料包括使用者資料,並且第二資料包括來自主機記憶體的交換資料。
在一些實現方式中,其中,記憶體控制器包括:快取記憶體,所述快取記憶體被配置為接收第一資料和/或第二資料;以及
處理器,所述處理器被配置為回應於寫入命令,根據第一位址訊號將第一資料寫入第一存儲單元,和/或根據第二位址訊號將第二資料寫入第二存儲單元。
在一些實現方式中,其中,處理器還被配置為:基於邏輯到物理位址映射表,將第一位址訊號和/或第二位址訊號的邏輯位址轉換為物理位址。
在一些實現方式中,其中,處理器還被配置為:對第二存儲單元的迴圈次數進行計數,以及當迴圈次數大於或等於壽命(lifetime)閾值時,將第二資料寫入第二存儲單元的操作被禁止。
在一些實現方式中,其中,處理器還被配置為將第二資料寫入第一存儲單元。
在一些實現方式中,其中,第二存儲單元中的存儲單元是單層單元(single level cell,SLC)。
在一些實現方式中,其中,第一存儲單元中的存儲單元是多層單元(multi level cell,MLC)、三層單元(trinary level cell,TLC)或四層單元(quad level cell,QLC)。
在另一方面,一種用於操作記憶體系統的方法,所述記憶體系統耦合到主機記憶體,所述方法包括:接收第一資料和/或第二資料,其中,第一資料包括使用者資料,並且第二資料包括來自主機記憶體的交換資料,以及將第一資料寫入存儲裝置的第一存儲單元和/或將第二資料寫入存儲裝置的第二存儲單元。
在一些實現方式中,還包括:接收寫入命令、以及第一位址訊號和/或第二位址訊號,以及回應於寫入命令。根據第一位址訊號將第一資料寫入第一存儲單元,和/或根據第二位址訊號將第二資料寫入第二存儲單元。
在一些實現方式中,還包括:基於邏輯到物理位址映射表,將第一位址訊號和/或第二位址訊號的邏輯位址轉換為物理位址。
在一些實現方式中,還包括:對第二存儲單元的迴圈次數進行計數,以及當迴圈次數大於或等於壽命閾值時,將第二資料寫入第二存儲單元的操作被禁止。
在一些實現方式中,還包括:將第二資料寫入第一存儲單元。
在另一方面,一種耦合到主機之主機記憶體的記憶體系統,包括:存儲裝置,所述存儲裝置包括第一存儲單元和第二存儲單元,以及記憶體控制器,所述記憶體控制器耦合到主機和存儲裝置,所述記憶體控制器被配置為從第一存儲單元讀取第一資料和/或從第二存儲單元讀取第二資料,其中,第一資料包括使用者資料,並且第二資料包括來自主機記憶體的交換資料。
在一些實現方式中,其中,記憶體控制器包括:處理器,所述處理器被配置為回應於讀取命令,根據第一位址訊號從第一存儲單元讀取第一資料,和/或根據第二位址訊號從第二存儲單元讀取第二資料。
在一些實現方式中,其中,處理器還被配置為:基於邏輯到物理位址映射表,將第一位址訊號和/或第二位址訊號的邏輯位址轉換為物理位址。
在一些實現方式中,其中,處理器還被配置為:對第二存儲單元的迴圈次數進行計數,以及當迴圈次數大於或等於壽命閾值時,從第二存儲單元讀取第二資料的操作被禁止。
在一些實現方式中,其中,第二存儲單元中的存儲單元是單層單元(SLC)。
在一些實現方式中,其中,第一存儲單元中的存儲單元是多層單元(MLC)、三層單元(TLC)或四層單元(QLC)。
在另一方面,一種用於操作記憶體系統的方法,所述記憶體系統耦合到主機記憶體,所述方法包括:接收讀取命令、以及第一位址訊號和/或第二位址訊號,以及從存儲裝置的第一存儲單元讀取第一資料和/或從存儲裝置的第二存儲單元讀取第二資料,其中,第一資料包括使用者資料,並且第二資料包括來自主機記憶體的交換資料。
在一些實現方式中,還包括:基於邏輯到物理位址映射表,將第一位址訊號和/或第二位址訊號的邏輯位址轉換為物理位址。
在一些實現方式中,所述方法,還包括:對第二存儲單元的迴圈次數進行計數,以及當迴圈次數大於或等於壽命閾值時,從第二存儲單元讀取第二資料的操作被禁止。
100:系統
102:記憶體系統
104、300:存儲裝置
106:記憶體控制器
108:主機
110:主機記憶體、第一主機記憶體、第二主機記憶體
112:主機處理器
202:存儲卡
204:存儲卡連接器
206:固態驅動器(SSD)
208:SSD連接器
301:存儲單元陣列
302:週邊電路
304:區塊
306:存儲單元
308:NAND存儲串
310:源極選擇閘極(SSG)電晶體
312:漏極選擇閘極(DSG)電晶體
313:DSG線
314:源極線
315:SSG線
316:位線
318:字元線(WL)
320:頁
408:控制器處理器
411:揮發性控制器記憶體
413:非揮發性控制器記憶體
502:主隨機存取記憶體(RAM)
504:零電容隨機存取記憶體(ZRAM)
602:啟動(BOOT)A
604:BOOT B
606:大邏輯單元號(LUN)
608:交換LUN
702:快取記憶體
704:第一存儲單元
706:第二存儲單元
800,900:方法
802,804,902,904:操作
VWL:字元線電壓
併入本文並形成說明書的一部分的圖式示出了本公開的方面,並且連同說明書一起進一步用於解釋本公開,並且使相關領域的技術人員能夠製作和使用本公開。
圖1示出了根據本公開的一些方面的具有主機和記憶體系統的示例性系統的方塊圖。
圖2A示出了根據本公開的一些方面的具有存儲裝置的示例性存儲卡的圖。
圖2B示出了根據本公開的一些方面的具有存儲裝置的示例性固態驅動器(solid-state drive,SSD)的圖。
圖3示出了根據本公開的一些方面的包括週邊電路的示例性存儲裝置的示意圖。
圖4示出了根據本公開的一些方面的包括記憶體控制器和存儲裝置的示例性記憶體系統的方塊圖。
圖5示出了根據本公開的一些方面的包括主機記憶體和主機處理器的示例性主機的方塊圖。
圖6示出了根據本公開的一些方面的包括存儲單元陣列的示例性存儲裝置的方塊圖。
圖7示出了根據本公開的一些方面的包括記憶體控制器和存儲裝置的示例性記憶體系統的方塊圖。
圖8示出了根據本公開的一些方面的用於操作記憶體系統的示例性方法的流程圖。
圖9示出了根據本公開的一些方面的用於操作記憶體系統的示例性方法的流程圖。
將參考圖式描述本公開的方面。
雖然描述了特定的配置和佈置,但應當理解,這是僅出於說明目的進行的。因此,在不脫離本公開的範圍的情況下可以使用其他配置和佈置。而且,本公開也可以在各種其他應用中採用。本公開中描述的功能和結構特徵可以以圖式中未具體描繪的方式相互組合、調整和修改,使得這些組合、調整和修改在本公開的範圍內。
通常,術語可以至少部分地根據上下文中的用法來理解。例如,至少部分地取決於上下文,本文所使用的術語「一個或多個」可以用於描述單數意義的任何特徵、結構或特性,或者可以用於描述複數意義的特徵、結構或特性的組合。類似地,至少部分地取決於上下文,諸如「一(a)」、「一個(an)」或「所述(the)」之類的術語同樣可以被理解為表達單數用法或表達複數用法。另外地,同樣至少部分地取決於上下文,術語「基於」可以理解為不一定旨在表達元素的排他集合,而是可以允許存在不一定明確描述的附加元素。
圖1示出了根據本公開的一些方面的具有存儲裝置的示例性系統100的方塊圖。系統100可以是行動電話、臺式電腦、筆記型電腦、平板電腦、車輛電腦、遊戲機、印表機、定位裝置、可穿戴電子裝置、智慧感測器、虛擬實境(virtual reality,VR)裝置、擴增實境(argument reality,AR)裝置或其中具有存儲裝置的任何其他合適的電子裝置。如圖1中示出的,系統100可以包括具有主機記憶體110和主機處理器112的主機108,以及具有一個或多個存儲裝置104和記憶體控制器106的記憶體系統102。
主機108可以是電子裝置的處理器(例如,中央處理器(central processing unit,CPU))或系統單晶片(system-on-chip,SoC)(例如,應用處理器(application processor,AP))。主機108可以耦合到記憶體控制器106,並且被配置為通過記憶體控制器106向存儲裝置104發送資料或者從存儲裝置104接收資料。例如,主機108可以在程式設計操作中反射程式資料,或者在讀取操作中接收讀取資料。主機處理器112可以是控制單元(control unit,CU)或算數邏輯單位(arithmetic & logic unit,ALU)。主機記憶體110可以是包括暫存器或高速緩衝記憶體的存儲單元。主機108被配置為從存儲裝置102的記憶體控制器
106接收指令和命令並向存儲裝置102的記憶體控制器106發送指令和命令,並且執行或實施本公開中提供的多個功能和操作,這將在下面進行描述。
存儲裝置104可以是本公開中公開的任何存儲裝置,例如,NAND快閃存儲裝置,其包括具有多個部分(例如,四個部分)的頁緩衝器。注意,出於說明性目的,NAND快閃記憶體僅是存儲裝置的一個示例。存儲裝置104可以包括任何合適的固態非揮發性記憶體,例如,NOR快閃記憶體、鐵電RAM(Ferroelectric RAM,FeRAM)、相變記憶體(Phase-change memory,PCM)、磁阻隨機存取記憶體(Magnetoresistive random-access memory,MRAM)、自旋移矩磁性隨機存取記憶體(Spin-transfer torque magnetic random-access memory,STT-RAM)或電阻式隨機存取記憶體(Resistive random-access memory,RRAM)等。在一些實現方式中,存儲裝置104包括三維(three-dimensional,3D)NAND快閃存儲裝置。
記憶體控制器106可以通過以下各項來實現:微處理器、微控制器(又稱為微控制器單元(microcontroller unit,MCU))、數位訊號處理器(digital signal processor,DSP)、專用積體電路(application-specific integrated circuit,ASIC)、現場可程式設計閘陣列(field-programmable gate array,FPGA)、可程式設計邏輯裝置(programmable logic device,PLD)、狀態機、門控邏輯、分立硬體電路和被配置為執行以下詳細描述的各種功能的其他合適的硬體、固件和/或軟體。
根據一些實現方式,記憶體控制器106耦合到存儲裝置104和主機108,並且被配置為控制存儲裝置104。記憶體控制器106可以管理存儲在存儲裝置104中的資料並與主機108通信。在一些實現方式中,記憶體控制器106被設計用於在低占空比環境中操作例如安全數位(secure digital,SD)卡、緊湊型快閃記憶
體(compact Flash,CF)卡、通用序列匯流排(universal serial bus,USB)快閃記憶體驅動器或用於在電子裝置(例如,個人電腦、數碼相機、行動電話等)中使用的其他介質。在一些實現方式中,記憶體控制器106被設計用於在高占空比環境中操作SSD或用作用於移動裝置(例如,智慧型電話、平板電腦、筆記型電腦等)的資料存儲裝置和企業存儲陣列的嵌入式多媒體卡(embedded multi-media-card,eMMC)。記憶體控制器106可以被配置為通過向存儲裝置104提供諸如讀取指令之類的指令來控制存儲裝置104的操作,例如,讀取、抹除和程式設計操作。例如,記憶體控制器106可以被配置為向存儲裝置104的週邊電路提供讀取指令以控制讀取操作。記憶體控制器106還可以被配置為管理關於被存儲在或要被存儲在存儲裝置104中的資料的各種功能,包括但不限於壞區塊管理、碎片收集(garbage collection)、邏輯到物理位址轉換、磨損均衡等。在一些實現方式中,記憶體控制器106還被配置為處理關於從存儲裝置104讀取或寫入到存儲裝置104的資料的改錯碼(error correction code,ECC)。記憶體控制器106也可以執行任何其他合適的功能,例如,格式化存儲裝置104。
記憶體控制器106可以根據特定的通信協定與外部裝置(例如,主機108)通信。例如,記憶體控制器106可以通過各種介面協定中的至少一種介面協定與外部裝置通信,這些介面協定例如USB協定、MMC協定、周邊元件連接(peripheral component interconnection,PCI)協議、快速PCI(PCI-express,PCI-E)協定、高級技術附件(advanced technology attachment,ATA)協定、串列ATA協定、並行ATA協定、小型電腦小型介面(small computer small interface,SCSI)協定、增強小型磁片介面(enhanced small disk interface,ESDI)協定、電子集成驅動器(integrated drive electronics,IDE)協定、火線協定等。
存儲控制器106和一個或多個存儲裝置104可以集成到各種類型的存放裝置中,例如,被包括在相同的封裝(例如,通用快閃記憶體存儲(universal Flash storage,UFS)封裝或eMMC封裝)中。即,記憶體系統102可以被實現並封裝到不同類型的終端電子產品中。在如圖2A中示出的一個示例中,記憶體控制器106和單個存儲裝置104可以集成到存儲卡202中。存儲卡202可以包括PC卡(personal computer memory card international association,PCMCIA,國際個人電腦記憶卡協會)、CF卡、智慧媒體(smart media,SM)卡、記憶棒、多媒體卡(MMC、RS-MMC、MMCmicro)、SD卡(SD、miniSD(迷你SD)、microSD(微SD)、SDHC(高容量SD,secure digital high capacity))、UFS等。存儲卡202還可以包括將存儲卡與主機(例如,圖1中的主機108)耦合的存儲卡連接器204。在如圖2B中示出的另一示例中,記憶體控制器106和多個存儲裝置104可以集成到SSD 206中。SSD 206還可以包括將SSD 206與主機(例如,圖1中的主機108)耦合的SSD連接器208。在一些實現方式中,SSD 206的存儲容量和/或操作速度大於存儲卡202的存儲容量和/或操作速度。
記憶體控制106被配置為從主機108接收命令以及向主機108發送命令,並且執行或實施本公開中提供的多個功能和操作,這將在下面進行描述。
圖3示出了根據本公開的一些方面的包括週邊電路的示例性存儲裝置300的示意性電路圖。存儲裝置300可以是圖1中的存儲裝置104的示例。注意,出於說明性目的,本文公開的NAND快閃記憶體僅是存儲裝置的一個示例。存儲裝置300可以包括任何合適的固態、非揮發性記憶體,例如,NOR快閃記憶體、FeRAM、PCM、MRAM、STT-RAM或RRAM等。存儲裝置300可以包括存儲單元陣列301和耦合到存儲單元陣列301的週邊電路302。存儲單元陣列301可以是
NAND快閃存儲單元陣列,其中存儲單元306以NAND存儲串308的陣列的形式提供,每個NAND存儲串308在基板(未示出)上方垂直延伸。在一些實現方式中,每個NAND存儲串308包括串聯耦合且垂直堆疊的多個存儲單元306。每個存儲單元306可以保存連續的類比值(例如,電壓或電荷),這取決於在存儲單元306的區域內俘獲的電子的數量。每個存儲單元306可以是包括浮柵電晶體的浮柵類型的存儲單元,或者是包括電荷俘獲電晶體的電荷俘獲類型的存儲單元。
在一些實現方式中,每個存儲單元306是單層單元(SLC),所述單層單元(SLC)具有兩種可能的記憶體狀態並因此可以存儲一位元資料。例如,第一記憶體狀態「0」可以與第一電壓範圍相對應,並且第二記憶體狀態「1」可以與第二電壓範圍相對應。在一些實現方式中,每個存儲單元306是多層單元(MLC),所述多層單元(MLC)能夠在多於四種記憶體狀態中存儲多於單位資料。例如,MLC可以每單元存儲兩位元、每單元存儲三位元(也稱為三層單元(TLC))或每單元存儲四位元(也稱為四層單元(QLC))。每個MLC都可以被程式設計以呈現可能的標稱存儲值的範圍。在一個示例中,如果每個MLC存儲兩位元資料,則可以通過將三個可能的標稱存儲值中的一個標稱存儲值寫入單元來對MLC進行程式設計,以從抹除狀態呈現三個可能的程式設計級別中的一個程式設計級別。第四標稱存儲值可以用於抹除狀態。
如圖3中示出的,每個NAND存儲串308可以包括在其源極端處的源極選擇閘極(source select gate,SSG)電晶體310,以及在其漏極端處的漏極選擇閘極(drain select gate,DSG)電晶體312。SSG電晶體310和DSG電晶體312可以被配置為在讀取和程式設計操作期間啟動選定的NAND存儲串308(陣列的列)。在一些實現方式中,在相同區塊304中的NAND存儲串308的源極通過相同的源極
線(source line,SL)314(例如,公共SL)耦合。換言之,根據一些實現方式,在相同區塊304中的所有NAND存儲串308具有陣列公共源極(array common source,ACS)。根據一些實現方式,每個NAND存儲串308的DSG電晶體312的漏極耦合到相應的位元線316,資料可以經由輸出匯流排(未示出)從所述位線316被讀取或寫入。在一些實現方式中,每個NAND存儲串308被配置為通過經由一個或多個DSG線313向相應的DSG電晶體312的閘極施加選擇電壓(例如,高於DSG電晶體312的閾值電壓)或取消選擇電壓(例如,0V)、和/或通過經由一個或多個SSG線315向相應的SSG電晶體310的閘極施加選擇電壓(例如,高於SSG電晶體310的閾值電壓)或取消選擇電壓(例如,0V),而被選擇或取消選擇。
如圖3中示出的,NAND存儲串308可以被組織為多個區塊304,區塊中的每一個區塊可以具有例如耦合到ACS的公共源極線314。在一些實現方式中,每個區塊304是用於抹除操作(即,在相同區塊304上的所有存儲單元306同時被抹除)的基本資料單元。為了抹除在選定區塊304中的存儲單元306,可以利用抹除電壓(Vers)(例如,高正電壓(例如,20V或更高))對源極線314進行偏置,所述源極線314耦合到選定區塊304以及與選定區塊304在相同平面中的未選定區塊304。相鄰NAND存儲串308的存儲單元306可以通過字元線(word line,WL)318耦合,所述字元線318選擇存儲單元306的哪一行受讀取和程式設計操作影響。在一些實現方式中,每個字元線318耦合到存儲單元306的頁320,所述頁320是用於程式設計和讀取操作的基本資料單元。以位元為單位的一個頁320的大小可以與在一個區塊304中通過字元線318耦合的NAND存儲串308的數量相關。每個字元線318可以在相應的頁320中在每個存儲單元306處包括多個控制閘
極(閘電極)和耦合控制閘極的閘極線。週邊電路302可以通過位元線316、字元線318、源極線314、SSG線315和DSG線313耦合到存儲單元陣列301。週邊電路302可以包括任何合適的類比、數位和混合訊號電路,這些類比、數位和混合訊號電路用於通過經由位元線316、字元線318、源極線314、SSG線315和DSG線313向每個目標存儲單元306施加電壓訊號和/或電流訊號以及從每個目標存儲單元306感測電壓訊號和/或電流訊號來促進存儲單元陣列301的操作。週邊電路302可以包括使用金屬氧化物半導體(metal-oxide-semiconductor,MOS)技術形成的各種類型的週邊電路。
圖4示出了根據本公開的一些方面的包括記憶體控制器106和存儲裝置104的示例性記憶體系統102的方塊圖。如圖4中示出的,記憶體控制器106可以包括控制器處理器408,例如,記憶體晶片控制器(memory chip controller,MCC)或記憶體控制器單元(memory controller unit,MCU)。控制器處理器408被配置為控制模組以執行命令或指令來執行本公開中公開的功能。控制器處理器408還可以被配置為通過生成和發送各種控制訊號(例如,用於讀取操作的讀取命令)來控制每個週邊電路的操作。控制器處理器408還可以以期望頻率、週期和占空比將時鐘訊號發送到其他週邊電路302以協調每個週邊電路302的操作,例如,用於同步的操作。記憶體控制器106還可以包括揮發性控制器記憶體411和非揮發性控制器記憶體413。揮發性控制器記憶體411可以包括暫存器或高速緩衝記憶體,使得所述揮發性控制器記憶體411允許更快的訪問和處理速度來讀取、寫入或抹除存儲在其中的資料,同時在移除電源之後,所述揮發性控制器記憶體411可能不保留存儲的資訊。在一些實現方式中,揮發性控制器記憶體411包括動態隨機存取記憶體(dynamic random access memory,DRAM)、靜態隨
機存取記憶體(static random access memory,SRAM)。即使在移除電源之後,非揮發性控制器記憶體413也可以保留存儲的資訊。在一些實現方式中,非揮發性控制器記憶體413包括NAND、NOR、FeRAM、PCM、MRAM、STT-RAM或RRAM。存儲裝置104可以包括存儲單元陣列,例如,圖3中的存儲單元陣列301。在一些實現方式中,非揮發性控制器記憶體413可以不設置在記憶體控制器106中,例如,非揮發性控制器記憶體413被設置在記憶體控制器106的外部但是耦合到記憶體控制器106。在一些實現方式中,控制器記憶體(例如,411或413)被配置為存儲與檔相對應的L2P(logical-to-physical)位址映射表。
圖5示出了根據本公開的一些方面的示例性主機108的方塊圖,所述主機108包括主機記憶體110和主機處理器112。主機記憶體110可以是揮發性記憶體,例如,隨機存取記憶體(random access memory,RAM),例如,DRAM、SRAM。主機記憶體110也可以是非揮發性記憶體,例如,NAND、NOR、FeRAM、PCM、MRAM、STT-RAM或RRAM。主機記憶體110包括主RAM 502和ZRAM(零電容隨機存取記憶體,Zero capacitance random access memory)504。在一些實現方式中,主RAM 502和ZRAM 504可以是主機記憶體110的不同邏輯區。換言之,可以通過存儲單元的邏輯位址來區分主RAM 502的存儲單元和ZRAM 504的存儲單元。在一些實現方式中,主RAM 502和ZRAM 504可以是分離的記憶體。例如,主RAM 502可以屬於第一主機記憶體110,ZRAM 504可以屬於獨立於第一主機記憶體110的第二主機記憶體110。並且第一主機記憶體110和第二主機記憶體110可以是相同或不同類型的記憶體。在一些實現方式中,主機處理器112可以是控制單元(CU)或算數邏輯單位(ALU)。
在一些實現方式中,主RAM 502的資料可以被傳送到ZRAM 504,並且所傳送的資料可以是軟體程式。此外,可以在主RAM 502滿時或主機處理器112依賴的任何時候觸發資料傳送的操作。在一些實現方式中,資料傳送的操作可以由主機處理器112控制。在一些實現方式中,傳送到ZRAM 504的資料可以是經壓縮的資料。資料壓縮的操作可以在任何時間進行,例如,在從主RAM 502發送出資料之前進行,或者在傳送過程期間(在從主RAM 502發送出資料之後並且在ZRAM 504接收到資料之前)進行,或者在ZRAM 504接收到資料進行。壓縮操作可以由主機處理器112控制。在一些實現方式中,操作的過程可以是:當主RAM502滿時,主機處理器112控制主RAM 502將主RAM 502的資料傳送到ZRAM 504,並且所傳送的資料在被ZRAM 504接收之前被壓縮。在一些實現方式中,從主RAM 502傳送的資料可以是這樣的資料:與保留在主RAM 502中的資料相比,其具有較低的訪問頻率。在這種情況下,可以對非活動資料進行壓縮,並且可以保存主機記憶體110的存儲容量。例如,在智慧型電話的實現方式中,假設5個應用正在運行,並且5個應用的程式存儲在主RAM 502中,如果5個應用中的2個應用是非活動的,則這2個非活動應用的程式可以被壓縮並存儲在ZRAM 504中。從而,可以釋放主RAM 502的存儲容量的一部分,使得可以在主機記憶體110中存儲更多的程式,這意味著可以在同一時間內運行更多的應用。在這種情況下,2個非活動應用仍然在後臺運行,並且當這2個非活動應用被調用時,可以對這2個非活動應用的程式進行解壓縮。
主機記憶體110中的資料也可以被傳送到存儲裝置104,並且資料可以從ZRAM 504或主RAM 502傳送。此外,可以在主RAM 502或主RAM 502滿時或主處理器112依賴的任何時候觸發資料傳送的操作。在一些實現方式中,資料傳
送的操作可以由主機處理器112控制。在一些實現方式中,ZRAM 504將交換資料傳送到記憶體系統(例如,SSD、UFS、eMMC),交換資料可以是經壓縮的軟體程式。記憶體系統可以存儲交換資料,記憶體系統還可以將交換資料發送回主機記憶體110(例如,ZRAM 504),使得記憶體系統可以是主機記憶體110的補充。在一些實現方式中,在ZRAM 504將交換資料傳送到記憶體系統之後,可以刪除ZRAM 504中的交換資料以釋放ZRAM 504的存儲容量。在一些實現方式中,當ZRAM 504的存儲容量緊張時,與非活動軟體或應用相對應的交換資料可以從ZRAM 504傳送到記憶體系統;當非活動軟體或應用被調用時,對應的交換資料可以從記憶體系統傳送到ZRAM 504。在這種情況下,可以在同一時間內運行更多的軟體或應用。
主機處理器112可以向記憶體系統發送命令以指示記憶體系統輸入或輸出交換資料。此外,記憶體系統可以包括記憶體控制器106和存儲裝置104,所述存儲裝置104可以是NAND快閃記憶體。所述命令和交換資料可以被發送到記憶體控制器106,並且記憶體控制器106可以根據所述命令將交換資料寫入存儲裝置104。在一些實現方式中,主機處理器112還可以將位址訊號發送到記憶體控制器,其中位址訊號包括邏輯位址,並且控制器可以基於L2P位址映射表將邏輯位址轉換為物理位址。L2P位址映射表可以存儲在記憶體系統的DRAM、NAND快閃記憶體或主機記憶體110中。物理位址指向存儲裝置104的存儲單元,使得記憶體控制器106可以將交換資料寫入目標存儲單元,並且記憶體控制器106可以從目標存儲單元讀取交換資料。在一些實現方式中,當ZRAM 504的存儲容量緊張時,與非活動軟體或應用相對應的交換資料可以從ZRAM 504傳送到存儲裝置104;當非活動軟體或應用被調用時,對應的交換資料可以從存儲裝置
104傳送到ZRAM 504。在這種情況下,可以在同一時間內運行更多的軟體或應用。
圖6示出了根據本公開的一些方面的包括存儲單元陣列301的示例性存儲裝置104的方塊圖。根據存儲單元的邏輯位址,存儲單元陣列301可以被劃分為多個邏輯單元,例如,大LUN(logic unit number,邏輯單元號)606、交換LUN 608、BOOT(啟動)A 602、BOOT B 604。在一些實現方式中,主機108可以通過發送命令和存儲單元的位址訊號來訪問大LUN 606、交換LUN 608、BOOT A 602或BOOT B 604。此外,位址訊號包括存儲單元的邏輯位址,並且存儲控制器106根據L2P映射表將邏輯位址轉換為物理位址。
在一些實現方式中,大LUN 606、BOOT A 602和BOOT B 604可以存儲使用者資料,並且交換LUN 608可以存儲交換資料。使用者資料可以是由主機108接收的資料或在主機108中生成的資料。例如,在具有UFS(記憶體系統)的智慧型電話中,使用者資料可以是由電腦的使用者輸入的資料,或者是在主機108的操作期間生成的資料。在一些實現方式中,BOOT A 602和BOOT B 604也可以記憶體系統資料,其中系統資料可以是作業系統的系統程式。例如,在具有UFS(記憶體系統)的智慧型電話中,存儲在SSD的BOOT A 602或BOOT B 604中的系統資料可以是Windows系統的程式。記憶體控制器106可以將使用者資料寫入與大LUN 606、BOOT A 602和BOOT B 604相對應的存儲單元,並且記憶體控制器106可以從與大LUN 606、BOOT A 602和BOOT B 604相對應的存儲單元讀取使用者資料。記憶體控制器106可以將交換資料寫入與交換LUN 608對應的存儲單元,並且記憶體控制器106可以從與交換LUN 608相對應的存儲單元讀取交換資料。換言之,用於存儲交換資料的存儲單元與用於存儲使用者資料的存儲單
元分離。由於交換資料比使用者資料更頻繁地被訪問,因此與交換LUN 608相對應的存儲單元比與大LUN 606、BOOT A 602或BOOT B 604對應的存儲單元更早地被耗盡(wear out)。因為交換LUN 608與大LUN 606、BOOT A 602或BOOT B604分開,所以大LUN 606、BOOT A 602和BOOT B 604不受交換LUN 608的頻繁訪問的影響。如果與交換LUN 608相對應的存儲單元被耗盡,則與大LUN 606、BOOT A602和BOOT B604相對應的存儲單元仍然是可程式設計和可讀的。
圖7示出了根據本公開的一些方面的包括記憶體控制器106和存儲裝置104的示例性記憶體系統的方塊圖。在一些實現方式中,存儲裝置104可以包括第一存儲單元704和第二存儲單元706。第一存儲單元704被配置為存儲第一資料,其中,第一資料是使用者資料。第二存儲單元706被配置為存儲第二資料,其中,第二資料是來自主機記憶體110的交換資料。此外,記憶體控制器106耦合在主機108與存儲裝置104之間,並且記憶體控制器106被配置為將第一資料寫入第一存儲單元704和/或將第二資料寫入第二存儲單元706。在一些實現方式中,第一存儲單元704可以是與大LUN 606、BOOT A 602和BOOT B 604相對應的存儲單元,並且第二存儲單元706可以是與交換LUN 608相對應的存儲單元。由於交換資料比使用者資料更頻繁地被訪問,因此第二存儲單元706比第一存儲單元704更早地被耗盡。因為第二存儲單元706與第一存儲單元704分開,所以第一存儲單元704不受第二存儲單元706的頻繁訪問的影響。如果第二存儲單元706被耗盡,則第二存儲單元706仍然是可程式設計和可讀的。
在一些實現方式中,第二存儲單元706可以是單層單元(SLC)。由於每個存儲單元存儲一位元資料,因此SLC可以具有比多層單元(MLC)、三層單元(TLC)和四層單元(QLC)更好的性能,例如,更少的程式設計時間、更
少的讀取時間和更多的程式設計/抹除迴圈次數。因為交換LUN 608比大LUN 606、BOOT A 602和BOOT B 604更頻繁地被訪問,所以第二存儲單元706要求比第一存儲單元704更好的性能。並且SLC能夠滿足第二存儲單元706的性能需求。
在一些實現方式中,第一存儲單元704可以是MLC、TLC或QLC。由於每個存儲單元存儲2/3/4位元資料,因此MLC、TLC和QLC可以具有比SLC更大的存儲容量。因為大LUN 606、BOOT A 602和BOOT B 604與交換LUN 608相比不那麼頻繁地被訪問,並且要求更大的存儲容量,所以第一存儲單元704比第二存儲單元704要求更低的成本。並且MLC、TLC和QLC可以滿足第一存儲單元704的低成本需求。
在一些實現方式中,記憶體控制器106包括快取記憶體702和控制器處理器408。快取記憶體702可以是SRAM、DRAM、NAND快閃記憶體、NOR快閃記憶體或任何其他類型的存儲裝置或電氣裝置。控制器處理器408可以是控制單元(CU)或算數邏輯單位(ALU)。對於寫入操作,基於寫入命令,快取記憶體702被配置為接收第一資料和/或第二資料,並且控制器處理器408被配置為根據第一位址訊號將第一資料寫入第一存儲單元704,和/或根據第二位址訊號將第二資料寫入第二存儲單元706。在一些實現方式中,第一位址訊號可以包括指向大LUN 606、BOOT A 602和BOOT B 604的第一邏輯位址。控制器處理器408可以基於L2P位址映射表將第一邏輯位址轉換為第一物理位址,並且第一物理位址與第一存儲單元704相對應。因此,記憶體控制器106根據第一位址訊號將使用者資料寫入第一存儲單元704。在一些實現方式中,第二位址訊號可以包括指向交換LUN 608的第二邏輯位址。控制器處理器408可以基於L2P位址映射表將第二邏輯位址轉換為第二物理位址,並且第二物理位址與第二存儲單元706相對
應。因此,記憶體控制器106根據第二位址訊號將交換資料寫入第二存儲單元706。對於讀取操作,基於讀取命令,快取記憶體702被配置為接收第一資料和/或第二資料,並且控制器處理器408被配置為根據第二位址訊號從第一存儲單元704讀取第一資料,和/或根據第二位址訊號從第二存儲單元706讀取第二資料。在一些實現方式中,第二位址訊號可以包括指向大LUN 606、BOOT A 602和BOOT B 604的第一邏輯位址。控制器處理器408可以基於L2P位址映射表將第一邏輯位址轉換為第一物理位址,並且第一物理位址與第一存儲單元704相對應。因此,記憶體控制器106根據第二位址訊號從第一存儲單元704讀取使用者資料。在一些實現方式中,第二位址訊號可以包括指向交換LUN 608的第二邏輯位址。控制器處理器408可以基於L2P位址映射表將第二邏輯位址轉換為第二物理位址,並且第二物理位址與第二存儲單元706相對應。因此,記憶體控制器106根據第二位址訊號從第二存儲單元706讀取交換資料。
在一些實現方式中,對於寫入操作,記憶體處理器可以對第二存儲單元706的迴圈次數進行計數,並將迴圈次數與壽命閾值進行比較,當寫入次數達到壽命閾值時,處理器可以禁止將第二資料寫入第二存儲單元706。迴圈次數可以是程式設計/抹除次數。交換LUN 608比大LUN 606、BOOT A 602和BOOT B 604更頻繁地被訪問,使得第二存儲單元706可能比第一存儲單元704更早地被耗盡。對SLC的迴圈次數進行計數可以監視第二存儲單元706的剩餘壽命。當第二存儲單元706被耗盡時,在交換資料丟失的情況下,第二存儲單元706將被禁用。在一些實現方式中,在第二存儲單元706被禁用之後,主機108將不向記憶體系統傳送交換資料。在其他實現方式中,在第二存儲單元706被禁用之後,主機108將仍向記憶體系統傳送交換資料,並且記憶體控制器106將根據由主機108提供
的命令將交換資料寫入第一存儲單元704。在一些實現方式中,對於讀取操作,記憶體處理器可以對第二存儲單元706的迴圈次數進行計數,並將迴圈次數與壽命閾值進行比較,當讀取次數達到壽命閾值時,處理器可以禁止從第二存儲單元706讀取第二資料。迴圈次數可以是程式設計/抹除次數。交換LUN 608比大LUN 606、BOOT A 602和BOOT B 604更頻繁地被訪問,使得第二存儲單元706可能比第一存儲單元704更早地被耗盡。對SLC的迴圈次數進行計數可以監視第二存儲單元706的剩餘壽命。當第二存儲單元706被耗盡時,在交換資料丟失的情況下,第二存儲單元706將被禁用。在一些實現方式中,在第二存儲單元706被禁用之後,主機108將不向記憶體系統傳送交換資料。在其他實現方式中,在第二存儲單元706被禁用之後,主機108將仍向記憶體系統傳送交換資料,並且記憶體控制器106將根據由主機108提供的命令從第一存儲單元704讀取交換資料。
圖8示出了根據本公開的一些方面的用於操作記憶體系統的示例性方法的流程圖。記憶體系統可以是本文公開的任何合適的記憶體系統,例如,圖4和圖7中的記憶體系統102。方法800可以由如圖4和圖7中的記憶體系統102部分地或完全地實現。可以理解,方法中所示的操作可能不是窮盡的,並且在所示操作中的任何操作之前、之後或之間也可以執行其他操作。此外,操作中的一些操作可以同時執行,或者以不同於圖8所示的次序執行。
參考圖8,方法800在操作802處開始,其中記憶體系統(例如,如圖4和圖7中的記憶體系統102)從主機(例如,圖1和圖5中的主機108)接收第一資料和/或第二資料。在一些實現方式中,第一資料是使用者資料,並且第二資料是來自主機記憶體的交換資料。
在一些實現方式中,記憶體系統可以包括記憶體控制器和存儲裝置,存儲裝置可以是NAND快閃記憶體。存儲裝置可以包括第一存儲單元和第二存儲單元。
在操作804中,如圖8所示,將第一資料寫入存儲裝置的第一存儲單元和/或將第二資料寫入存儲裝置的第二存儲單元。
在一些實現方式中,記憶體控制器耦合在主機與存儲裝置之間,並且記憶體控制器被配置為將第一資料寫入第一存儲單元和/或將第二資料寫入第二存儲單元。在一些實現方式中,第一存儲單元可以是與大LUN、BOOT A和BOOT B相對應的存儲單元,並且第二存儲單元可以是與交換LUN相對應的存儲單元。
在一些實現方式中,可以將命令和交換資料發送到記憶體控制器,並且所述記憶體控制器可以根據寫入命令將交換資料寫入存儲裝置。在一些實現方式中,主機處理器還可以將位址訊號發送到記憶體控制器,其中,位址訊號可以包括邏輯位址,並且控制器可以基於L2P位址映射表將邏輯位址轉換為物理位址。L2P位址映射表可以存儲在記憶體系統的DRAM、NAND快閃記憶體或主機記憶體中。物理位址指向存儲裝置的存儲單元,使得記憶體控制器可以將交換資料寫入目標存儲單元,並且記憶體控制器可以從目標存儲單元讀取交換資料。在一些實現方式中,當ZRAM的存儲容量緊張時,可以將與非活動軟體或應用相對應的交換資料從ZRAM傳送到存儲裝置;當非活動軟體或應用被調用時,可以將對應的交換資料從存儲裝置傳送到ZRAM。在這種情況下,可以在同一時間內運行更多的軟體或應用。
在一些實現方式中,記憶體控制器包括快取記憶體和控制器處理器。快取記憶體可以是SRAM、DRAM、NAND快閃記憶體、NOR快閃記憶體或任何
其他類型的存儲裝置或電氣裝置。控制器處理器可以是控制單元(CU)或算數邏輯單位(ALU)。快取記憶體被配置為接收第一資料和/或第二資料,並且控制器處理器被配置為根據第一位址訊號將第一資料寫入第一存儲單元,和/或根據地址訊號將第二資料寫入第二存儲單元。在一些實現方式中,位址訊號可以包括指向大LUN、BOOT A和BOOT B的第一邏輯位址。控制器處理器可以基於L2P位址映射表將第一邏輯位址轉換為第一物理位址,並且第一物理位址與第一存儲單元相對應。因此,記憶體控制器根據地址訊號將使用者資料寫入第一存儲單元。在一些實現方式中,位址訊號可以包括指向交換LUN的第二邏輯位址。控制器處理器可以基於L2P位址映射表將第二邏輯位址轉換為第二物理位址,並且所述第二物理位址與第二存儲單元相對應。因此,記憶體控制器根據地址訊號將交換資料寫入第二存儲單元。
在一些實現方式中,記憶體處理器可以對第二存儲單元的迴圈次數進行計數,並將迴圈次數與壽命閾值進行比較,當寫入次數達到壽命閾值時,處理器可以禁止將第二資料寫入第二存儲單元。迴圈次數可以是程式設計/抹除次數。交換LUN比大LUN、BOOT A和BOOT B更頻繁地被訪問,使得第二存儲單元可能比第一存儲單元更早地被耗盡。對SLC的迴圈次數進行計數可以監視第二存儲單元的剩餘壽命。當第二存儲單元被耗盡時,在交換資料丟失的情況下,第二存儲單元將被禁用。在一些實現方式中,在第二存儲單元被禁用之後,主機將不向記憶體系統傳送交換資料。在其他實現方式中,在第二存儲單元被禁用之後,主機將仍向記憶體系統傳送交換資料,並且記憶體控制器將根據由主機提供的命令將交換資料寫入第一存儲單元。
圖9示出了根據本公開的一些方面的用於操作記憶體系統的示例性方法的流程圖。記憶體系統可以是本文公開的任何合適的記憶體系統,例如,圖4和圖7中的記憶體系統102。方法900可以由如圖4和圖7中的記憶體系統102部分地或完全地實現。可以理解,方法中所示的操作可能不是窮盡的,並且在所示操作中的任何操作之前、之後或之間也可以執行其他操作。此外,操作中的一些操作可以同時執行,或者以不同於圖9所示的次序執行。
參考圖9,方法900在操作902處開始,其中記憶體系統(例如,如圖4和圖7中的記憶體系統102)從主機(例如,圖1和圖5中的主機108)接收讀取命令、第一位址訊號和/或第二位址訊號。
在一些實現方式中,記憶體系統可以包括記憶體控制器和存儲裝置,所述存儲裝置可以是NAND快閃記憶體。存儲裝置可以包括第一存儲單元和第二存儲單元。
在操作904中,如圖9所示,從存儲裝置的第一存儲單元讀取第一資料和/或從存儲裝置的第二存儲單元讀取第二資料,其中,第一資料是使用者資料,並且第二資料是來自主機記憶體的交換資料。
在一些實現方式中,記憶體控制器耦合在主機與存儲裝置之間,並且記憶體控制器被配置為從第一存儲單元讀取第一資料和/或從第二存儲單元讀取第二資料。在一些實現方式中,第一存儲單元可以是與大LUN、BOOT A和BOOT B相對應的存儲單元,並且第二存儲單元可以是與交換LUN相對應的存儲單元。
在一些實現方式中,命令和交換資料可以被發送到記憶體控制器,並且所述記憶體控制器可以根據讀取命令從存儲裝置讀取交換資料。在一些實現方式中,主機處理器還可以向記憶體控制器發送位址訊號,其中位址訊號可以
包括邏輯位址,並且控制器可以基於L2P位址映射表將邏輯位址轉換為物理位址。L2P位址映射表可以存儲在記憶體系統的DRAM、NAND快閃記憶體或主機記憶體中。物理位址指向存儲裝置的存儲單元,使得記憶體控制器可以從目標存儲單元讀取交換資料,並且記憶體控制器可以從目標存儲單元讀取交換資料。在一些實現方式中,當ZRAM的存儲容量緊張時,可以將與非活動軟體或應用相對應的交換資料從ZRAM傳送到存儲裝置;當非活動軟體或應用被調用時,對應的交換資料可以從存儲裝置傳送到ZRAM。在這種情況下,可以在同一時間內運行更多的軟體或應用。
在一些實現方式中,記憶體控制器包括快取記憶體和控制器處理器。快取記憶體可以是SRAM、DRAM、NAND快閃記憶體、NOR快閃記憶體或任何其他類型的存儲裝置或電氣裝置。控制器處理器可以是控制單元(CU)或算數邏輯單位(ALU)。快取記憶體被配置為接收第一資料和/或第二資料,並且控制器處理器被配置為根據第一位址訊號從第一存儲單元讀取第一資料,和/或根據地址訊號從第二存儲單元讀取第二資料。在一些實現方式中,位址訊號可以包括指向大LUN、BOOT A和BOOT B的第一邏輯位址。控制器處理器可以基於L2P位址映射表將第一邏輯位址轉換為第一物理位址,並且第一物理位址與第一存儲單元相對應。因此,記憶體控制器根據地址訊號從第一存儲單元讀取使用者資料。在一些實現方式中,位址訊號可以包括指向交換LUN的第二邏輯位址。控制器處理器可以基於L2P位址映射表將第二邏輯位址轉換為第二物理位址,並且所述第二物理位址與第二存儲單元相對應。因此,記憶體控制器根據地址訊號從第二存儲單元讀取交換資料。
在一些實現方式中,記憶體處理器可以對第二存儲單元的迴圈次數進行計數,並將迴圈次數與壽命閾值進行比較,當讀取次數達到壽命閾值時,處理器可以禁止從第二存儲單元讀取第二資料。迴圈次數可以是程式設計/抹除次數。交換LUN比大LUN、BOOT A和BOOT B更頻繁地被訪問,使得第二存儲單元可能比第一存儲單元更早地被耗盡。對SLC的迴圈次數進行計數可以監視第二存儲單元的剩餘壽命。當第二存儲單元被耗盡時,在交換資料丟失的情況下,第二存儲單元將被禁用。在一些實現方式中,在第二存儲單元被禁用之後,主機將不向記憶體系統傳送交換資料。在其他實現方式中,在第二存儲單元被禁用之後,主機將仍向記憶體系統傳送交換資料,並且記憶體控制器將根據主機由提供的命令從第一存儲單元讀取交換資料。
具體實現方式的前述描述可以被容易地修改和/或適應于各種應用。因此,基於本文呈現的教導和指導,這種適應和修改旨在處於所公開的實現方式的等效物的含義和範圍內。
本公開的廣度和範圍不應受上述示例性實現方式中的任何示例性實現方式的限制,而應僅根據所附權利要求書及其等效物來限定。
104:存儲裝置
301:存儲單元陣列
602:BOOT A
604:BOOT B
606:大LUN
608:交換LUN
Claims (13)
- 一種耦合到一主機的主機記憶體的記憶體系統,包括: 一存儲裝置,所述存儲裝置包括一第一存儲單元和一第二存儲單元;以及 一記憶體控制器,所述記憶體控制器耦合到所述主機和所述存儲裝置,所述記憶體控制器被配置為將一第一資料寫入所述第一存儲單元和/或將一第二資料寫入所述第二存儲單元,其中,所述第一資料包括使用者資料,並且所述第二資料包括來自所述主機記憶體的交換資料, 其中,所述記憶體控制器包括一快取記憶體及一處理器,所述快取記憶體係被配置為接收所述第一資料和/或所述第二資料,所述處理器係被配置為根據一第一位址訊號將所述第一資料寫入所述第一存儲單元,和/或根據一第二位址訊號將所述第二資料寫入所述第二存儲單元;又其中,所述處理器還被配置為:對所述第二存儲單元的一迴圈次數進行計數,當所述迴圈次數大於或等於一壽命閾值時,禁止將所述第二資料寫入所述第二存儲單元的操作,並將所述第二資料寫入所述第一存儲單元。
- 如請求項1所述的記憶體系統,其中,所述處理器還被配置為: 基於邏輯到物理位址映射表,將所述第一位址訊號和/或所述第二位址訊號的邏輯位址轉換為物理位址。
- 如請求項1所述的記憶體系統,其中,所述第二存儲單元中的存儲單元是單層單元(SLC)。
- 如請求項3所述的記憶體系統,其中,所述第一存儲單元中的存儲單元是多層單元(MLC)、三層單元(TLC)或四層單元(QLC)。
- 一種用於操作記憶體系統的方法,所述記憶體系統耦合到一主機的主機記憶體,所述方法包括: 接收一第一資料和/或一第二資料,其中,所述第一資料包括使用者資料,並且所述第二資料包括來自所述主機記憶體的交換資料; 將所述第一資料寫入一存儲裝置的一第一存儲單元和/或將所述第二資料寫入所述存儲裝置的一第二存儲單元; 對所述第二存儲單元的一迴圈次數進行計數;以及 當所述迴圈次數大於或等於一壽命閾值時,禁止將所述第二資料寫入所述第二存儲單元的操作,並將所述第二資料寫入所述第一存儲單元。
- 如請求項5所述的方法,還包括: 接收一寫入命令、以及一第一位址訊號和/或一第二位址訊號;以及 回應於所述寫入命令,根據所述第一位址訊號將所述第一資料寫入所述第一存儲單元,和/或根據所述第二位址訊號將所述第二資料寫入所述第二存儲單元。
- 如請求項6所述的方法,還包括: 基於邏輯到物理位址映射表,將所述第一位址訊號和/或所述第二位址訊號的邏輯位址轉換為物理位址。
- 一種耦合到一主機的主機記憶體的記憶體系統,包括: 一存儲裝置,所述存儲裝置包括一第一存儲單元和一第二存儲單元;以及 一記憶體控制器,所述記憶體控制器耦合到所述主機和所述存儲裝置,所述記憶體控制器被配置為從所述第一存儲單元讀取一第一資料和/或從所述第二存儲單元讀取一第二資料,其中,所述第一資料包括使用者資料,並且所述第二資料包括來自所述主機記憶體的交換資料, 其中,所述記憶體控制器包括:一處理器,所述處理器被配置為:回應於讀取命令,根據一第一位址訊號從所述第一存儲單元讀取所述第一資料,和/或根據一第二位址訊號從所述第二存儲單元讀取所述第二資料;又其中,所述處理器還被配置為:對所述第二存儲單元的一迴圈次數進行計數;以及當所述迴圈次數大於或等於壽命閾值時,從所述第二存儲單元讀取所述第二資料的操作被禁止。
- 如請求項8所述的記憶體系統,其中,所述處理器還被配置為: 基於邏輯到物理位址映射表,將所述第一位址訊號和/或所述第二位址訊號的邏輯位址轉換為物理位址。
- 如請求項8所述的記憶體系統,其中,所述第二存儲單元中的存儲單元是單層單元(SLC)。
- 如請求項10所述的記憶體系統,其中,所述第一存儲單元中的存儲單元是多層單元(MLC)、三層單元(TLC)或四層單元(QLC)。
- 一種用於操作記憶體系統的方法,所述記憶體系統耦合到一主機的主機記憶體,所述方法包括: 接收讀取命令、以及一第一位址訊號和/或一第二位址訊號; 從一存儲裝置的一第一存儲單元讀取一第一資料和/或從所述存儲裝置的一第二存儲單元讀取一第二資料,其中,所述第一資料包括使用者資料,並且所述第二資料包括來自所述主機記憶體的交換資料; 對所述第二存儲單元的一迴圈次數進行計數;以及 當所述迴圈次數大於或等於壽命閾值時,從所述第二存儲單元讀取所述第二資料的操作被禁止。
- 如請求項12所述的方法,還包括: 基於邏輯到物理位址映射表,將所述第一位址訊號和/或所述第二位址訊號的邏輯位址轉換為物理位址。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2022/125936 WO2024082136A1 (en) | 2022-10-18 | 2022-10-18 | Memory system and operation thereof |
| WOPCT/CN2022/125936 | 2022-10-18 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202418097A TW202418097A (zh) | 2024-05-01 |
| TWI894581B true TWI894581B (zh) | 2025-08-21 |
Family
ID=84357827
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW112125165A TWI894581B (zh) | 2022-10-18 | 2023-07-05 | 記憶體系統及記憶體系統的操作 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US20240126450A1 (zh) |
| EP (2) | EP4459473A3 (zh) |
| JP (2) | JP2024540783A (zh) |
| KR (1) | KR20240055692A (zh) |
| CN (1) | CN118265971A (zh) |
| TW (1) | TWI894581B (zh) |
| WO (1) | WO2024082136A1 (zh) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100023721A1 (en) * | 2008-07-23 | 2010-01-28 | Takafumi Ito | Memory system and host device |
| TW201035978A (en) * | 2009-03-20 | 2010-10-01 | Phison Electronics Corp | Flash memory writing method and storage system and controller using the same |
| TW201619832A (zh) * | 2014-11-27 | 2016-06-01 | 愛思開海力士有限公司 | 半導體裝置及包含該半導體裝置的記憶體系統 |
| TWI754396B (zh) * | 2020-09-29 | 2022-02-01 | 慧榮科技股份有限公司 | 快閃記憶體的資料儲存方法及裝置以及電腦程式產品 |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08129505A (ja) * | 1994-10-31 | 1996-05-21 | Nec Eng Ltd | Eeprom制御装置 |
| JP2008217208A (ja) * | 2007-03-01 | 2008-09-18 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置の管理方法 |
| JP5525801B2 (ja) * | 2009-11-30 | 2014-06-18 | 株式会社メガチップス | 検査装置、データ保存装置、撮像装置、監視システム、および不揮発性の記憶媒体 |
| JP2012203863A (ja) * | 2011-03-28 | 2012-10-22 | Toshiba Corp | メモリシステム |
| US9128843B2 (en) * | 2012-10-11 | 2015-09-08 | Industrial Technology Research Institute | Method and computer system for memory management on virtual machine system |
| CN106170773A (zh) * | 2014-01-09 | 2016-11-30 | 桑迪士克科技有限责任公司 | 用于裸芯上缓冲式非易失性存储器的选择性回拷 |
| US9928169B2 (en) * | 2014-05-07 | 2018-03-27 | Sandisk Technologies Llc | Method and system for improving swap performance |
| US11385797B2 (en) * | 2015-10-05 | 2022-07-12 | Micron Technology, Inc. | Solid state storage device with variable logical capacity based on memory lifecycle |
| US20180165032A1 (en) * | 2016-12-14 | 2018-06-14 | Western Digital Technologies, Inc. | Read write performance for nand flash for archival application |
| US9905289B1 (en) * | 2017-04-28 | 2018-02-27 | EMC IP Holding Company LLC | Method and system for systematic read retry flow in solid state memory |
| US10824371B2 (en) * | 2017-06-19 | 2020-11-03 | Micron Technology, Inc. | Managed NAND data compression |
| JP7030463B2 (ja) * | 2017-09-22 | 2022-03-07 | キオクシア株式会社 | メモリシステム |
| JP7132491B2 (ja) * | 2018-05-14 | 2022-09-07 | 富士通株式会社 | メモリ制御装置、メモリ制御プログラムおよびメモリ制御方法 |
| JP2020149195A (ja) * | 2019-03-12 | 2020-09-17 | キオクシア株式会社 | メモリシステム |
| US20190227751A1 (en) * | 2019-03-29 | 2019-07-25 | Intel Corporation | Storage system with reconfigurable number of bits per cell |
| KR20210002190A (ko) * | 2019-06-27 | 2021-01-07 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
| US11243711B2 (en) * | 2020-02-05 | 2022-02-08 | Micron Technology, Inc. | Controlling firmware storage density based on temperature detection |
| US11373729B2 (en) * | 2020-06-16 | 2022-06-28 | Micron Technology, Inc. | Grown bad block management in a memory sub-system |
| US11971815B2 (en) * | 2021-08-31 | 2024-04-30 | Micron Technology, Inc. | Write budget control of time-shift buffer for streaming devices |
| US12360679B2 (en) * | 2022-09-06 | 2025-07-15 | Micron Technology, Inc. | Memory system logical unit number procedures |
-
2022
- 2022-10-18 CN CN202280004458.7A patent/CN118265971A/zh active Pending
- 2022-10-18 JP JP2023538801A patent/JP2024540783A/ja active Pending
- 2022-10-18 EP EP24201377.9A patent/EP4459473A3/en active Pending
- 2022-10-18 WO PCT/CN2022/125936 patent/WO2024082136A1/en not_active Ceased
- 2022-10-18 EP EP22802497.2A patent/EP4384917B1/en active Active
- 2022-10-18 KR KR1020237020974A patent/KR20240055692A/ko active Pending
- 2022-11-22 US US17/992,869 patent/US20240126450A1/en active Pending
-
2023
- 2023-07-05 TW TW112125165A patent/TWI894581B/zh active
-
2025
- 2025-10-03 JP JP2025167601A patent/JP2026009994A/ja active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100023721A1 (en) * | 2008-07-23 | 2010-01-28 | Takafumi Ito | Memory system and host device |
| TW201035978A (en) * | 2009-03-20 | 2010-10-01 | Phison Electronics Corp | Flash memory writing method and storage system and controller using the same |
| TW201619832A (zh) * | 2014-11-27 | 2016-06-01 | 愛思開海力士有限公司 | 半導體裝置及包含該半導體裝置的記憶體系統 |
| TWI754396B (zh) * | 2020-09-29 | 2022-02-01 | 慧榮科技股份有限公司 | 快閃記憶體的資料儲存方法及裝置以及電腦程式產品 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN118265971A (zh) | 2024-06-28 |
| JP2024540783A (ja) | 2024-11-06 |
| EP4459473A2 (en) | 2024-11-06 |
| EP4384917A1 (en) | 2024-06-19 |
| TW202418097A (zh) | 2024-05-01 |
| KR20240055692A (ko) | 2024-04-29 |
| EP4459473A3 (en) | 2025-01-22 |
| EP4384917B1 (en) | 2024-09-25 |
| JP2026009994A (ja) | 2026-01-21 |
| WO2024082136A1 (en) | 2024-04-25 |
| US20240126450A1 (en) | 2024-04-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11567685B2 (en) | Storage controller and storage device including the same | |
| TWI892718B (zh) | 用於磁碟重組的記憶體裝置及其系統和方法 | |
| US12436706B2 (en) | Storage device and operating method of storage device | |
| CN113490919A (zh) | 用于存储器系统的功率管理 | |
| US10515693B1 (en) | Data storage apparatus and operating method thereof | |
| US12321265B2 (en) | Memory controller performing garbage collection, memory system, method, and storage medium thereof | |
| TWI894581B (zh) | 記憶體系統及記憶體系統的操作 | |
| CN113519027B (zh) | 用于存储器系统的功率管理 | |
| TW202542741A (zh) | 記憶體系統及記憶體系統的操作 | |
| US20250370656A1 (en) | Memory system and operation methods thereof | |
| CN119541587A (zh) | 存储器的操作方法、存储器、存储器控制器及存储系统 | |
| CN120340569A (zh) | 存储器装置及操作方法、系统及操作方法和存储介质 | |
| CN120932707A (zh) | 存储器装置及其操作方法、存储器系统 |