TWI719494B - 用於控制不同類型儲存單元的方法及裝置 - Google Patents
用於控制不同類型儲存單元的方法及裝置 Download PDFInfo
- Publication number
- TWI719494B TWI719494B TW108119438A TW108119438A TWI719494B TW I719494 B TWI719494 B TW I719494B TW 108119438 A TW108119438 A TW 108119438A TW 108119438 A TW108119438 A TW 108119438A TW I719494 B TWI719494 B TW I719494B
- Authority
- TW
- Taiwan
- Prior art keywords
- interface
- memory
- random access
- flash memory
- dynamic random
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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; 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/061—Improving I/O performance
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
本發明提出一種用於控制不同類型儲存單元的方法及裝置。該裝置包含:介面;及處理單元。介面連接至少二種不同類型的儲存單元,其中包含非揮發的混合型記憶體。處理單元耦接介面,用於通過介面對不同類型的儲存單元存取資料。混合型記憶體的設置可提供主裝置更多樣的應用潛能,並且將混合型記憶體連接上整合型介面可節約硬體成本。
Description
本發明涉及儲存裝置,尤指一種用於控制不同類型儲存單元的方法及裝置。
快閃記憶裝置通常分為NOR快閃記憶裝置與NAND快閃記憶裝置。NOR快閃記憶裝置為隨機存取裝置,主裝置(Host)可於位址腳位上提供任何存取NOR快閃記憶裝置的位址,並及時地從NOR快閃記憶裝置的資料腳位上獲得儲存於該位址上的資料。相反地,NAND快閃記憶裝置並非隨機存取,而是序列存取。NAND快閃記憶裝置無法像NOR快閃記憶裝置一樣,可以存取任何隨機位址,主裝置反而需要寫入序列的位元組(Bytes)的值到NAND快閃記憶裝置中,用以定義請求命令(Command)的類型(如,讀取、寫入、抹除等),以及用在此命令上的位址。位址可指向一個頁面(快閃記憶裝置中寫入作業的最小單位)或一個區塊(快閃記憶裝置中抹除作業的最小單位)。
大量儲存裝置(Mass Storage Device)的儲存空間可使用NAND快閃記憶裝置實施,其中包含大量的三層式單元(Triple Level Cells,TLCs),用來儲存大量的資料。然而,三層式單元的寫入需要較長的時間。此外,三層式單元還需要耗費時間執行耗損平均(Wear Leveling)操作,用於延長大量儲存裝置的使用壽命。當大量儲存裝置的儲存空間只以三層式單元實施時,對於主裝置來說,應用的彈性不足,例如,較不適合需要快速存取的冷資料。因此,本發明
提出一種用於控制不同類型儲存單元的方法及裝置,用以克服如上所述的限制。
有鑑於此,如何減輕或消除上述相關領域的缺失,實為有待解決的問題。
本發明提出一種用於控制不同類型儲存單元的裝置。該裝置包含:介面;及處理單元。介面連接至少二種不同類型的儲存單元,其中包含非揮發的混合型記憶體。處理單元耦接介面,用於通過介面對不同類型的儲存單元存取資料。
本發明另提出一種用於控制不同類型儲存單元的方法,該方法由處理單元於載入及執行軟體或韌體指令時實施,包含:組態介面為第一工作模式,其中,介面包含多個通道,每個通道連接第一類型及第二類型的儲存單元,第一工作模式相應於第一類型的儲存單元;驅動介面發出第一訊號致能不同通道間的第一類型的儲存單元;驅動介面存取第一類型的儲存單元的資料;以及於存取第二類型的儲存單元的資料前,重新組態介面為第二工作模式,相應於第二類型的儲存單元。
本發明另提出一種用於控制不同類型儲存單元的方法,該方法由處理單元於載入及執行軟體或韌體指令時實施,包含:於系統開機階段,初始化非揮發的混合型記憶體;從混合型記憶體讀取組態快閃記憶體的第一參數,以及系統內程式碼;根據第一參數初始化快閃記憶體;以及執行系統內程式碼,用於進入正常工作模式並等待主裝置發出的命令。
上述實施例的優點之一,混合型記憶體的設置可提供主裝置更多樣的應用潛能。
上述實施例的另一優點,將混合型記憶體連接上整合型介面可節約硬體成本。
本發明的其他優點將搭配以下的說明和圖式進行更詳細的解說。
100:系統架構
110:主裝置
130:控制器
131:處理單元
132:唯讀記憶體
133:靜態隨機存取記憶體
135:主裝置介面
137:雙模記憶體介面
139:雙模閃存介面
151:動態隨機存取記憶體
171#0~171#7:DRAM模組
153:類動態隨機存取記憶體
153#0~153#5:類DRAM模組
171:快閃記憶體
171#0~171#7:快閃記憶體模組
173:類快閃記憶體
173#0~173#5:類快閃記憶體模組
CH#0~CH#3:通道
CE#0~CE#2:晶片致能訊號
CS0~CS2:晶片選擇訊號
S610~S690、S773:方法步驟
圖1為依據本發明實施例的快閃儲存裝置的系統架構示意圖。
圖2及圖3為依據本發明實施例的閃存介面與不同種類快閃記憶體之間的連接示意圖。
圖4及圖5為依據本發明實施例的記憶體介面與不同種類動態隨機存取記憶體之間的連接示意圖。
圖6為依據本發明實施例資料儲存裝置搭載動態隨機存取記憶體的系統開機流程圖。
圖7為依據本發明實施例資料儲存裝置不搭載動態隨機存取記憶體的系統開機流程圖。
以下說明為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。
必須了解的是,使用於本說明書中的”包含”、”包括”等詞,用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
於權利要求中使用如”第一”、"第二"、"第三"等詞是用來修飾權利要求中的元件,並非用來表示之間具有優先順序,前置關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。
必須了解的是,當元件描述為”連接”或”耦接"至另一元件時,可以是直接連結、或耦接至其他元件,可能出現中間元件。相反地,當元件描述為”直接連接”或”直接耦接”至另一元件時,其中不存在任何中間元件。使用來描述元件之間關係的其他語詞也可類似方式解
讀,例如”介於”相對於”直接介於”,或者是”鄰接”相對於”直接鄰接”等等。
參考圖1。通用的系統架構100包含主裝置110、記憶體控制器130、動態隨機存取記憶體151(Dynamic Random Access Memory DRAM)、類動態隨機存取記憶體153(DRAM-like)、快閃記憶體(Flash)171及類快閃記憶體(Flash-like)173。此系統架構100可實施於個人電腦、筆記型電腦(Laptop PC)、平板電腦、手機、數位相機、數位攝影機等電子產品。記憶體控制器130是一種特殊應用積體電路(Application-Specific Integrated Circuit ASIC),用來控制動態隨機存取記憶體151、類動態隨機存取記憶體153、快閃(Flash)記憶體171或類快閃記憶體173的資料存取,可包含處理單元131、唯讀記憶體132、靜態隨機存取記憶體(Static Random Access Memory SRAM)、主裝置介面135、雙模記憶體介面137及雙模閃存介面139。記憶體控制器130、動態隨機存取記憶體151、類動態隨機存取記憶體153、快閃記憶體171或類快閃記憶體173可設置在資料儲存裝置上,資料儲存裝置可與主裝置110通信,並執行來自主裝置110的主機指令(Host Command)。
於一些節約成本的實施例中,資料儲存裝置可精簡為僅設置動態隨機存取記憶體151、類動態隨機存取記憶體153、快閃記憶體171以及類快閃記憶體173的任二個或任二個以上。於另一些節約成本的實施例中,系統架構100可精簡為不設置動態隨機存取記憶體151及類動態隨機存取記憶體153,使得記憶體控制器130可精簡為不設置雙模記憶體介面137,或是去能(Disable)雙模記憶體介面137的運作。
快閃記憶體171提供大量的儲存空間,通常是數百Gigabytes,甚至是Terabytes,可用於儲存大量的使用者資料,例如高解析度圖片、影片等。快閃記憶體171中的記憶單元可為三層式單元(Triple
Level Cells,TLCs)或四層式單元(Quad-Level Cells QLCs)。動態隨機存取記憶體151可用於緩存來自主裝置110或是來自快閃記憶體171的使用者資料,亦可用以緩存部分或全部邏輯-實體映射表(Logical-Physical Address Mapping Table,L2P Table)。動態隨機存取記憶體151另可儲存資料儲存裝置運作所需的韌體(Firmware)以及變數等。
記憶體控制器130包含處理單元131,通過主裝置介面135與主裝置110通信。主裝置介面135可為通用快閃記憶儲存(Universal Flash Storage UFS)、快速非揮發記憶體(Non-Volatile Memory Express NVMe)、通用序列匯流排(Universal Serial Bus,USB)、先進技術附著(advanced technology attachment,ATA)、序列先進技術附著(serial advanced technology attachment,SATA)、快速周邊元件互聯(peripheral component interconnect express,PCI-E)或其他介面。主裝置110及處理單元131中之任一者可使用多種方式實施,如使用通用硬體(例如,單一處理器、具平行處理能力的多處理器,或其他具運算能力的處理器),並且在執行韌體或軟體指令(Instructions)時,提供之後描述的功能。多處理器為單一的運算元件,可配備二或更多的獨立處理器(又稱為多核)來讀取及執行程式指令。
處理單元131可通過雙模閃存介面139與快閃記憶體171通信,例如,可採用開放NAND快閃(Open NAND Flash Interface ONFI)、雙倍資料率開關(DDR Toggle)或其他介面。處理單元131可透過雙模記憶體介面137與動態隨機存取記憶體151通信,例如,可採用第三代雙倍資料率(Double Data Rate Third Generation,DDR3)、第四代雙倍資料率(Double Data Rate Fourth Generation,DDR4)或其他介面。
類動態隨機存取記憶體153又稱為混合型記憶體,可由相變記憶體
(Phase-Change Memory)或磁阻式記憶體來實現。類動態隨機存取記憶體153具有較快的資料存取能力,故可作為資料緩衝(Buffer)器,用以暫存資料;更甚者,類動態隨機存取記憶體153可提供長時間的資料儲存能力,即類動態隨機存取記憶體153亦可作為資料儲存媒體。類動態隨機存取記憶體153採用類似於動態隨機存取記憶體151的操作介面,類動態隨機存取記憶體153的存取速度例如僅為動態隨機存取記憶體151的1/10,但是,資料儲存量例如可為動態隨機存取記憶體151的10倍。
類快閃記憶體173亦可稱為混合型記憶體,本質上為快閃記憶體,記憶單元為單層式單元(SLC),但是,面頁(Page)的資料長度例如僅為512B,可提供長時間的資料儲存能力,故可作為資料儲存媒體。類快閃記憶體173採用類似於快閃記憶體171的操作介面,類快閃記憶體173的存取速度例如可為快閃記憶體171的10倍,但是,資料儲存量例如僅為快閃記憶體171的1/10。
處理單元131可分別透過類記憶體介面(Memory-like Interface I/F)及類快閃介面(Flash-like I/F)分別與類動態隨機存取記憶體153及類快閃記憶體173通信。類動態隨機存取記憶體153及類快閃記憶體173亦可稱為混合型記憶體(Hybrid Memory),因為具備非揮發性的資料儲存特性,且其存取速度介於快閃記憶體171與動態隨機存取記憶體151之間。
另外,相較於快閃記憶體171,混合型記憶體具有較佳的耐久力(Endurance)以及較佳的資料保存能力,因此,不像快閃記憶體171的資料通常需要較高糾錯能力的糾錯碼(Error-Correcting Code,ECC),例如,低密度奇偶較驗碼(LDPC,Low-Density Parity Check Code),的防護。混合型記憶體中儲存的資料可使用較低糾錯能力的ECC,例如:BCH碼(Bose-Chaudhuri-Hocquenghem Code),的防護。以每1K位元組的使用者資料為例,BCH碼可提供最多72個
錯誤位元的修正能力,而LDPC可提供最多128個錯誤位元的修正能力。
此外,就資料存取的延遲時間(Latency)來說,動態隨機存取記憶體151優於混合型記憶體,而混合型記憶體又優於快閃記憶體171。所以,基於以上特性的不同,混合型記憶體可提供更多樣的應用,例如,儲存開機時所需的資訊、作為主裝置110的第四階快取(Level-4 Cache)等。
由於類快閃記憶體173採用快閃記憶體作為資料儲存媒體,因此類快閃介面與快閃介面相似,類快閃介面與快閃介面有部份接腳定義(Pin Definition)為相同或相容,但有些接腳定義為不相同。因此,雙模快閃介面139乃以快閃介面為基礎,並予以擴展而成。類似的,類記憶體介面與記憶體介面相似,類記憶體介面與記憶體介面有部份接腳定義為相同或相容,但有些接腳定義為不相同,因此,雙模記憶體介面137乃以記憶體介面為基礎,並予以擴展而成。換句話說,雙模閃存介面139及雙模記憶體介面137是一種整合型介面,可以分別存取不同類型的快閃記憶體及隨機存取記憶體。另外,雙模閃存介面139較佳以以頁面(Page)為資料寫入的最小單位,區塊為資料抹寫的最小單位。雙模記憶體介面137以位元(Bit)為資料寫入的最小單位。
圖2顯示雙模閃存介面139與快閃記憶體171及類快閃記憶體173之間的一種實施例的連接態樣。雙模閃存介面139可包含四個輸出入通道(I/O channels,以下簡稱通道CH)CH#0至CH#3。每一個通道可連接相同或不同種類的儲存模組,例如:一個類快閃記憶體模組及二個快閃記憶體模組,並且以邏輯單元編號(Logical Unit Number LUN)識別。例如,通道CH#0連接類快閃記憶體模組173#0及快閃記憶體模組171#0及171#4。換句話說,不同類型的快閃記憶體模組可共享一個通道。在此連接態樣下,多通道CH之間的儲存模組可
以多通道模式進行存取,可增加資料存取的效能。處理單元131可藉由致能晶片致能(Chip Enable,CE)訊號CE#0並以多通道模式來存取通道CH#0~3的類快閃記憶體模組173#0~3,處理單元131亦可藉由致能晶片致能訊號CE#1並以多通道模式來存取通道CH#0~3的快閃記憶體模組171#0~3。
圖3顯示雙模閃存介面139與快閃記憶體171及類快閃記憶體173之間的另一種實施例的連接態樣。每個通道只連接相同類型的儲存模組,通道CH#0及CH#1中的每一個只連接類快閃記憶體模組,而通道CH#2及CH#3中之的每一個只連接快閃記憶體模組。在此連接態樣下,多通道CH之間的儲存模組可以多通道模式進行存取,可增加資料存取的效能。處理單元131可藉由致能CE#0並以多通道模式來存取通道CH#0~1的類快閃記憶體模組173#0以及#3,處理單元131亦可藉由致能CE#0並以多通道模式來存取通道CH#2~3的快閃記憶體模組171#0以及#3。
如表1所示,雙模閃存介面139可被組態為閃存介面,包括:開放NAND快閃同步模式(ONFI Sync)、開放NAND快閃非同步模式(ONFI Async)或雙倍資料率開關(DDR Toggle)介面,用來讓處理單元131與快閃記憶體模組彼此通信。此外,雙模閃存介面139可被組態為類快閃介面(Flash-like I/F),用來讓處理單元131與類快閃記憶體模組彼此通信。字母”x”代表浮接(Floating)、保留(Reserved)或廠商自行定義(Manufacturer-proprietary)的接腳,字母”#”代表負緣驅動,字母”c”代表互補(Complement)。
雙模閃存介面139可包含多個對應於儲存模組接腳的寄存器,使得處理單元131可設定輸出到儲存模組的特定接腳的參數,如預設電壓準位、驅動方式(正緣驅動Assertion或負緣驅動De-assertion,或不作用No-function)、是否震盪(swinging)、時鐘頻率等。例如,當雙模閃存介面139組態為ONFI Sync、ONFI Async或DDR Toggle介面時,處理單元131可組態相應寄存器把輸出至接腳#8的預設電壓準位設為高電壓,驅動方式設為負緣驅動,並且將是否震盪的參數設為否。當雙模閃存介面139組態為類快閃介面時,處理單元131可組態相應寄存器把輸出至接腳#8的預設電壓準位設為低電壓,驅動方式設為正緣驅動,並且將是否震盪的參數設為否。又例如,當雙模閃存介面139組態為ONFI Sync介面時,處理單元131可組態相應
寄存器把輸出至接腳#13的是否震盪參數設為是,並將時鐘頻率設為快閃記憶體模組可接受的頻率。當雙模閃存介面139組態為類快閃介面時,處理單元131可組態相應寄存器把輸出至接腳#13的是否震盪參數設為是,並將時鐘頻率設為類快閃記憶體模組可接受的頻率。
每個儲存模組擁有獨立的CE或晶片選擇(Chip Select,CS)訊號。處理單元131可通過雙模閃存介面139並行存取不同通道CH#0至CH#3上的儲存模組中的資料。詳細來說,處理單元131可先發出晶片致能訊號CE#0至CE#3中的一個,用來致能每個通道中的指定儲存模組,接著再通過輸出入通道CH#0至CH#3中共享資料線Data[0:7]或者共享資料線Data[0:7]及Data[8:15],並行存取致能的儲存模組中的資料。例如,處理單元131通過共享的資料線傳送命令、欲讀取的邏輯區塊地址、欲寫入的使用者資料等給致能的儲存模組,或者從致能的儲存模組接收使用者資料、回覆訊息等。此外,每個通道另可於致能的儲存模組間傳遞位址提取致能(Address Latch Enable ALE)、命令提取致能(Command Latch Enable CLE)、讀取致能(Read Enable RE)、互補讀取致能(Complement RE,RE_c)、寫入致能(Write Enable WE)、讀取/寫入(R/W)、就緒/忙碌(Ready/Busy,R/B)、寫入防護(Write Protect,WP)、命令地址(Command Address,CA)、時鐘(Clock)、互補時鐘(Complement Clock,Clock_c)、時鐘致能(Clock Enable,CKE)、DQS、ZQ、ODT等控制訊號。
另外,可藉由重新定義接腳功能(Pin Function),使雙模閃存介面139的接腳數量縮減。例如,將類快閃介面的ODT功能移至接腳#15,使接腳#15在快閃介面作為WP,在類快閃介面作為ODT,如此一來,雙模閃存介面139的接腳#29即可不用。
當連接組態設定好之後,記憶體控制器130的製造商可以將連接組
態直接寫入ROM中,如此一來,處理單元131可依據ROM的設定來操控雙模閃存介面139的運作。或者,記憶體控制器130在執行初始化的階段,處理單元131依據快閃介面或類快閃介面輪流對儲存模組輸出操作指令,例如,輸出快閃介面的資料讀取指令,如果儲存模組可正確地回傳資料,則處理單元131判斷此儲存模組為快閃記憶體模組,反之,則為類快閃記憶體模組。或者,處理單元131以預設的介面來讀取預設的儲存模組。例如,CE#0所控制,在通道CH#0的儲存模組必為快閃記憶體模組,則連接組態可儲存在此快閃記憶體模組中。記憶體控制器130執行初始化時,處理單元131直接以快閃介面讀取CE#0且CH#0的快閃記憶體模組,以取得連接組態。
基於如圖2所示的連接,處理單元131可使用不同的通信協議(Protocol)驅動不同類型的閃存模組,或以不同的工作模式驅動不同類型的閃存模組。當致能另一種閃存模組前,處理單元131可重新組態(Reconfigure)雙模閃存介面139。例如,雙模閃存介面139於開機時可先被處理單元131組態為存取類快閃記憶體模組173的工作模式。於組態成功後,處理單元131驅動雙模閃存介面139發出致能訊號CE#0來致能類快閃記憶體模組173#0至173#3,接著,存取開機時所需的程式指令、對照表、資料等。開機成功後,處理單元131可重新組態雙模閃存介面139為存取快閃記憶體模組171的工作模式。組態成功後,處理單元131驅動雙模閃存介面139發出致能訊號CE#1或CE#2來致能快閃記憶體模組171#0至171#3或快閃記憶體模組171#4至171#7,接著,存取使用者資料、執行各種增進快閃記憶體171的儲存能力的背景操作,例如垃圾回收(Garbage Collection,GC)、損耗平均(Wear Leveling,WL)操作等。於存取使用者資料期間,若需要存取類快閃記憶體模組173中的程式指令、對照表或資料,處理單元131於發出致能訊號CE#0來致能類快
閃記憶體模組173前可重新組態雙模閃存介面139為存取類快閃記憶體模組173的工作模式。
於一些實施例中,當處理單元131為具平行處理能力的多處理器時,每一個處理器核心可控制特定的通道來存取部分儲存模組中的資料。例如,一個處理器核心負責控制通道CH#0及CH#1,而另一個處理器核心負責控制通道CH#2及CH#3。於另一些實施例中,當處理單元131及儲存模組間的連接組態為如圖3所示時,一或數個處理器核心可專門用來存取快閃記憶體模組中的資料,而其他的處理器核心則可專門用來存取類快閃記憶體模組中的資料。因此,圖3所示的連接組態可使得處理單元131不需要花時間重新組態雙模閃存介面139。不過,相較於圖2所示的連接,雙模閃存介面139的並行處理頻寬會減少。
圖4顯示雙模記憶體介面137與動態隨機存取記憶體151及類動態隨機存取記憶體153之間的一種實施例的連接態樣。雙模記憶體介面137可包含通道CH#0至CH#3。每一個通道CH可連接相同或不同種類的記憶體模組,例如:一個類動態隨機存取記憶體模組及二個動態隨機存取記憶體模組。例如,通道CH#0連接類動態隨機存取記憶體模組153#0及二個動態隨機存取記憶體模組151#0及151#4。換句話說,不同類型的記憶體模組可共享一個通道。在此連接態樣下,多通道CH之間的記憶體模組可以多通道模式進行存取,可增加資料存取的效能。處理單元131可藉由CS#0並以多通道模式來存取通道CH#0~3的類動態隨機存取記憶體模組153#0~3,處理單元131亦可藉由致能CS#1並以多通道模式來存取通道CH#0~3的動態隨機存取記憶體151#0~3。
圖5顯示雙模記憶體介面137與與動態隨機存取記憶體151及類動態隨機存取記憶體153之間的另一種實施例的連接態樣。每個通道只連接相同類型的記憶體模組,通道CH#0及CH#1中的每一個只連接
類DRAM模組,而通道CH#2及CH#3中之的每一個只連接DRAM模組。在此連接態樣下,多通道CH之間的儲存模組可以多通道模式進行存取,可增加資料存取的效能。處理單元131可藉由致能CS#0並以多通道模式來存取通道CH#0~1的類DRAM模組153#0以及#3,處理單元131亦可藉由致能CS#0並以多通道模式來存取通道CH#2~3的DRAM模組153#0以及#3。
如表2所示,雙模記憶體介面137可被組態為DDR4介面,用來讓處理單元131與DDR4的DRAM模組151彼此通信。此外,雙模記憶體介面137也可被組態為DRAM-like介面,用來讓處理單元131與類DRAM模組153彼此通信。雙模記憶體介面137可包含多個對應於記憶體模組接腳的寄存器,使得處理單元131可設定輸出到記憶體模組的特定接腳的參數,如預設電壓準位、驅動方式(正緣或負緣驅動,或不作用)、是否震盪等。例如,當雙模記憶體介面137組態為DDR4介面時,處理單元131可組態相應寄存器把輸出至接腳#15的預設電壓準位設為高或低電壓,驅動方式設為不作用,並且將是否震盪的參數設為否。當雙模記憶體介面137組態為DRAM-like介面時,處理單元131可組態相應寄存器把輸出至接腳#15的預設電壓準位設為低電壓,驅動方式設為正緣驅動,並且將是否震盪的參數設為否。又例如,當雙模記憶體介面137組態為DDR4介面時,處理單元131可組態相應寄存器把輸出至接腳#11的是否震盪參數設為是,並將時鐘頻率設為DRAM模組可接受的頻率。當雙模記憶體介面137組態為DRAM-like I/F時,處理單元131可組態相應寄存器把輸出至接腳#11的是否震盪參數設為是,並將時鐘頻率設為類DRAM模組可接受的頻率。
每個記憶體模組可輸入獨立的CS訊號。處理單元131可通過雙模記
憶體介面137並行存取不同通道CH#0至CH#3上的記憶體模組中的資料。詳細來說,處理單元131可先發出晶片選擇訊號CS#0~#3中的一個,用來致能每個通道中的指定記憶體模組,接著再通過通道CH#0至CH#3的資料線Data[0:7],並行存取已致能的記憶體模組中的資料。此外,每個通道另可於致能的記憶體模組間傳遞命令地址(Command Address,CA)、重設(Reset)、喚醒(Wake)、警示(Alert)、輸入選擇(Select_In)、輸出選擇(Select_Out)、晶片標識符(Chip ID)、啟動命令輸入(Activation Command Input ACT)、輸入資料遮罩(Input Data Mask DM)、資料匯流排反向(Data Bus Inversion DBI)、群組(Bank Group BG)、組地址(Bank Address)、地址輸入(Address Input)、命令及地址同位檢查輸入(Command and Address Parity Input,PAR)、測試模式致能(Test Mode Enable)等控制訊號。
基於如圖4所示的連接,處理單元131可使用不同的通信協議驅動不同類型的記憶體模組,或以不同的工作模式驅動不同類型的記憶體模組。當致能另一種記憶體模組前,處理單元131可重新組態雙模記憶體介面137。例如,雙模記憶體介面137於開機時可先被處理單元131組態為存取類DRAM模組153的工作模式。於組態成功後,處理單元131驅動雙模記憶體介面137發出致能訊號CS0來致能類DRAM模組153#0至153#3,接著,存取開機時所需的程式指令、對照表、資料等。開機成功後,處理單元131可重新組態雙模記憶體介面137為存取DRAM模組151的工作模式。組態成功後,處理單元131驅動雙模記憶體介面137發出致能訊號CS1或CS2來致能DRAM模組151#0至151#3或DRAM模組151#4至151#7,接著,暫存主裝置110即將寫入快閃記憶體171的使用者資料,從快閃記憶體171讀取並即將敲出給主裝置110的使用者資料,或查找時所需的部分邏輯-實體映射表等。於存取使用者資料期間,若需要存取類DRAM模組
153中的程式指令、對照表或資料,處理單元131於發出致能訊號CS0來致能類DRAM模組153前可重新組態雙模記憶體介面137為存取類DRAM模組153的工作模式。
於一些實施例中,當處理單元131為具平行處理能力的多處理器時,每一個處理器核心可控制特定的通道來存取部分記憶體模組中的資料。例如,一個處理器核心控制通道CH#0及CH#1,而另一個處理器核心控制通道CH#2及CH#3。此外,於一些實施例中,當處理單元131及記憶體模組間的連接組態為如圖5所示時,一或數個處理器核心可專門用來存取DRAM模組中的資料,而其他的處理器核心則可專門用來存取類DRAM模組中的資料。因此,圖5所示的連接組態可使得處理單元131不需要花時間重新組態雙模記憶體介面137。不過,相較於圖4所示的連接,雙模記憶體介面137的並行處理頻寬會減少。
系統開機所需的資訊與程式指令,例如,資訊塊(information block)、完整的邏輯-實體映射表及系統內程式碼(In-System Programming,ISP),通常儲存於非揮發性的儲存單元。於一些實施方式中,這些必要的資訊與程序儲存於快閃記憶體171。然而,為了縮短系統開機的時間,這些必要的資訊與程式指令可被儲存於本發明實施例的系統架構100中的混合型記憶體。資訊塊可紀錄用於組態快閃記憶體171的參數,例如,快閃記憶體171中的壞塊及壞列(Bad Column)位置、超塊架構(Superblock Architecture)等,以及組態動態隨機存取記憶體151的參數。
參考圖1,於一些實施例中,資料儲存裝置可配置動態隨機存取記憶體151、混合型記憶體153或173、及快閃記憶體171。完整的L2P映射表較佳儲存於混合型記憶體153或173中以加速L2P映射表的存取。混合型記憶體153或173亦可作為快速刷寫儲存空間(Flush Storage Space),當發生掉電的事件時,動態隨機存取記憶體151的
資料可以快速刷寫至混合型記憶體153或173。動態隨機存取記憶體151可用以來暫存熱資料(Hot Data)及來自主裝置110的使用者資料(User Data);快閃記憶體171則作為主要儲存空間(Main Storage Space),用來備份系統內程式碼、冷資料(Cold Data)以及/或少使用資料(Seldom Used Data)。
於一些實施例中,資料儲存裝置可配置混合型記憶體153及快閃記憶體171。完整的L2P映射表較佳儲存於混合型記憶體153以加速L2P映射表的存取。由於混合型記憶體153具備長時間的資料儲存能力,因此,資料儲存裝置可以不考慮掉電事件的處理。混合型記憶體153更可以用以儲存少量的熱資料(Hot Data)或是自主裝置110的使用者資料;快閃記憶體171則作為主要儲存空間,用來備份系統內程式碼、冷資料以及/或少使用資料。
參考圖6,當接收到系統開機訊號後(步驟S610),處理單元131可從唯讀記憶體(Read Only Memory,ROM)讀取並執行開機碼(Boot Code),用於進入ROM模式(步驟S631)。於ROM模式中,初始化混合型記憶體153或173(步驟S633)。於步驟S633,處理單元131可先偵測所有通過整合型介面連接的儲存單元的類型,例如儲存模組171#0至171#7與173#0至173#5及記憶體模組151#0至151#7與153#0至153#5的類型,用於找出混合型記憶體153或173。於一些實施例,處理單元131可通過雙模記憶體介面137或雙模閃存介面139的硬體偵測致能的特定記憶體或儲存模組的特定腳位上的電壓準位來判斷此記憶體或儲存模組是否屬於混合型記憶體。例如,處理單元131可通過雙模閃存介面139的硬體偵測於致能的儲存模組的腳位#14上的電壓準位。如果電壓準位為低時,判斷致能的儲存模組為快閃記憶體模組,否則,判斷致能的儲存模組為類快閃記憶體模組。另一些實施例,處理單元131可執行韌體指令,用於通過雙模記憶體介面137或雙模閃存介面139發送混合型記憶體可辨認的命
令給致能的特定記憶體或儲存模組,並且根據是否收到正確的回覆來判斷此記憶體或儲存模組是否屬於混合型記憶體。接著,處理單元131從混合型記憶體153或173讀取ISP碼、組態參數及L2P映射表(步驟S651、S653及S655),並且根據組態參數初始化快閃記憶體171及動態隨機存取記憶體151(步驟S671及S673)。處理單元131接著執行ISP碼,進入正常工作模式(Normal Mode),並且等待主裝置110發出的命令(步驟S690)。於正常工作模式的一些實施例中,為了加速L2P映射表的查找與更新,正使用或即將使用的部分L2P映射表可暫存於動態隨機存取記憶體151,並且於適當時間點,更新回混合型記憶體153或173。此外,於查找或更新時需要的部分實體-邏輯映射表(Physical-Logical Mapping Table,P2L Table)可暫存於動態隨機存取記憶體151或靜態隨機存取記憶體133。動態隨機存取記憶體151可先暫存主裝置110欲寫入的使用者資料,之後,處理單元131可根據使用者資料的特性將暫存的資料寫入混合型記憶體153或173或快閃記憶體171。
參考圖1,於另一些實施例中,資料儲存裝置可配置混合型記憶體153或173及快閃記憶體171,但不配置動態隨機存取記憶體151。完整的L2P映射表永久性儲存於混合型記憶體153或173。混合型記憶體153或173可提供快速刷寫的儲存空間,而快閃記憶體171可提供主要儲存空間。參考圖7,由於資料儲存裝置不配置動態隨機存取記憶體151,因此處理單元131無法執行如圖6的步驟S673,根據組態參數初始化動態隨機存取記憶體151。取而代之的,處理單元131可向主裝置110請求從主機端(Host Side)配置部分的動態隨機存取記憶體空間,作為主機內存緩衝(Host Memory Buffer,HMB)(步驟S773)。於正常工作模式的一些實施例中,為了加速L2P映射表的查找與更新,正使用或即將使用的部分L2P映射表可暫存於主機內存緩衝,並且於適當時間點,更新回混合型記憶體153或173。
此外,於查找或更新時需要的部分實體-邏輯表可暫存於主機內存緩衝或靜態隨機存取記憶體133。主機內存緩衝可先暫存主裝置110欲寫入的使用者資料,之後,處理單元131可根據使用者資料的特性將暫存的資料寫入混合型記憶體153或173或快閃記憶體171。
圖6的步驟S610至S673及圖7的步驟S610至S671及S773可稱為系統開機階段(System Booting Stage)執行的步驟。
於正常工作模式的一些實施例中,靜態隨機存取記憶體133可用來暫存即將寫入快閃記憶體171或混合型記憶體153或173的資料,或者從快閃記憶體171或混合型記憶體153或173讀取的資料,並且使用直接記憶體存取(Direct Access Memory,DMA)技術在這兩種元件間搬移資料。
於正常工作模式的一些實施例中,處理單元131可執行相同的損耗平均演算法管理快閃記憶體171及類快閃記憶體173。靜態隨機存取記憶體133可儲存快閃記憶體模組171及類快閃記憶體173中每個實體塊(Physical Block)的寫入/抹除計數值(Program/Erase Count,P/E Count)。但是,針對快閃記憶體171及類快閃記憶體173中的實體塊的損耗平均操作的啟動閥值(Threshold)可以相同也可以不同。
於正常工作模式的一些實施例中,處理單元131可為快閃記憶體171及類快閃記憶體173執行垃圾收集(Garbage Collection GC)操作。處理單元131可將混合型記憶體153或173中的一部份空間配置為預留空間(over provision),作為資料搬移或其他操作的緩衝區。
於正常工作模式的一些實施例中,為了突然斷電回復(Sudden Power Off Recovery,SPOR),處理單元131可週期性地或特定條件滿足時,將動態隨機存取記憶體151或主機內存緩衝的資料寫入非揮發性的混合型記憶體153或173或快閃記憶體171。暫存的L2P映射表及使用者資料可較佳地寫入混合型記憶體153或173,使得突然斷電後的回復操作可更有效率。
於一些實施例中,當混合型記憶體153或173的空間足夠時,處理單元131可不使用快閃記憶體171。等到混合型記憶體153或173的空間不足時,再初始化快閃記憶體171並使用快閃記憶體171中的空間。
本發明所述的方法中的全部或部分步驟可以電腦程式實現,例如電腦的作業系統、電腦中特定硬體的驅動程式、或軟體應用程式。此外,也可實現於如上所示的其他類型程式。所屬技術領域具有通常知識者可將本發明實施例的方法撰寫成電腦程式,為求簡潔不再加以描述。依據本發明實施例方法實施的電腦程式可儲存於適當的電腦可讀取資料載具,例如DVD、CD-ROM、USB碟、硬碟,亦可置於可通過網路(例如,網際網路,或其他適當載具)存取的網路伺服器。
雖然圖1至圖5中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然圖6及圖7的流程圖採用指定的順序來執行,但是在不違反發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。
雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。
100:系統架構
110:主裝置
130:控制器
131:處理單元
132:唯讀記憶體
133:靜態隨機存取記憶體
135:主裝置介面
137:記憶體介面
139:閃存介面
151:動態隨機存取記憶體
153:類動態隨機存取記憶體
171:快閃記憶體
173:類快閃記憶體
Claims (19)
- 一種用於控制不同類型儲存單元的裝置,包含:一介面,連接至少二種不同類型的儲存單元,其中,該儲存單元包含非揮發的混合型記憶體;以及一處理單元,耦接該介面,用於通過該介面對該不同類型的儲存單元存取資料,其中,該混合型記憶體為類快閃記憶體,該儲存單元更包含快閃記憶體,該介面包含多個通道,該每個通道連接一快閃記憶體模組及一類快閃記憶體模組,不同通道間的該快閃記憶體模組以一第一訊號致能,以及不同通道間的該類快閃記憶體模組以一第二訊號致能。
- 如請求項1所述的裝置,其中該類快閃記憶體儲存組態該快閃記憶體需要的參數,以及系統內程式碼。
- 如請求項1所述的裝置,其中於該處理單元使用該第一訊號致能該快閃記憶體模組前,組態該介面為存取該快閃記憶體模組的工作模式;以及該處理單元使用該第二訊號致能該類快閃記憶體模組前,組態該介面為存取該類快閃記憶體模組的工作模式。
- 一種用於控制不同類型儲存單元的裝置,包含:一介面,連接至少二種不同類型的儲存單元,其中,該儲存單元包含非揮發的混合型記憶體;以及一處理單元,耦接該介面,用於通過該介面對該不同類型的儲存單元存取資料,其中,該混合型記憶體為類快閃記憶體,該儲存單元更包含快閃記憶體,該介面包含一第一通道及一第二通道,該第一通道只連接一快閃記憶體模組,以及該第二通道只連接一類快閃記憶體模組。
- 如請求項4所述的裝置,其中該處理單元包含一第一處理器核心以及一第二處理器核心,該第一處理器核心用於控制該第一通道,以及該第二處理器核心用於控制該第二通道。
- 一種用於控制不同類型儲存單元的裝置,包含:一介面,連接至少二種不同類型的儲存單元,其中,該儲存單元包含非揮發的混合型記憶體;以及一處理單元,耦接該介面,用於通過該介面對該不同類型的儲存單元存取資料,其中,該混合型記憶體為類動態隨機存取記憶體,該儲存單元更包含動態隨機存取記憶體,該介面包含多個通道,該每個通道連接一動態隨機存取記憶體模組及一類動態隨機存取記憶體模組,不同通道間的該動態隨機存取記憶體模組以一第一訊號致能,以及不同通道間的該類動態隨機存取記憶體模組以一第二訊號致能。
- 如請求項6所述的裝置,其中該類動態隨機存取記憶體儲存組態該動態隨機存取記憶體需要的參數,以及系統內程式碼。
- 如請求項6所述的裝置,其中於該處理單元使用該第一訊號致能該動態隨機存取記憶體模組前,組態該介面為存取該動態隨機存取記憶體模組的工作模式;以及該處理單元使用該第二訊號致能該類動態隨機存取記憶體模組前,組態該介面為存取該類動態隨機存取記憶體模組的工作模式。
- 一種用於控制不同類型儲存單元的裝置,包含:一介面,連接至少二種不同類型的儲存單元,其中,該儲存單元包含非揮發的混合型記憶體;以及一處理單元,耦接該介面,用於通過該介面對該不同類型的儲存單元存取資料,其中,該混合型記憶體為類動態隨機存取記憶體,該儲存單元更包 含動態隨機存取記憶體,該介面包含一第一通道及一第二通道,該第一通道只連接一動態隨機存取記憶體模組,以及該第二通道只連接一類動態隨機存取記憶體模組。
- 如請求項9所述的裝置,其中該處理單元包含一第一處理器核心以及一第二處理器核心,該第一處理器核心用於控制該第一通道,以及該第二處理器核心用於控制該第二通道。
- 一種用於控制不同類型儲存單元的方法,由一處理單元於載入及執行軟體或韌體指令時實施,包含:組態一介面為一第一工作模式,其中,該介面包含多個通道,該每個通道連接一第一類型及一第二類型的儲存單元,該第一工作模式相應於該第一類型的儲存單元;驅動該介面發出一第一訊號致能該不同通道間的該第一類型的儲存單元;驅動該介面存取該第一類型的儲存單元的資料;以及於存取該第二類型的儲存單元的資料前,重新組態該介面為一第二工作模式,相應於該第二類型的儲存單元。
- 如請求項11所述的方法,其中該第一類型的儲存單元為非揮發的一類快閃記憶體模組,該第二類型的儲存單元為一快閃記憶體模組,該處理單元於開機時組態該介面為該第一工作模式,並且驅動該介面存取該類快閃記憶體模組中用來組態該快閃記憶體模組的參數,該處理單元於開機成功後組態該介面為該第二工作模式。
- 如請求項11所述的方法,其中該第一類型的儲存單元為非揮發的一類動態隨機存取記憶體模組,該第二類型的儲存單元為動態隨機存取記憶體模組,該處理單元於開機時組態該介面為該第一工作模式,並且驅動該介面存取該類動態隨機存取記憶體模組中用來組態該動態隨機存取記憶體模組的參數,該處理單元於開機成功後組態該介面為該第二工作模式。
- 一種用於控制不同類型儲存單元的方法,由一處理單元於載入及執行軟體或韌體指令時實施,包含:於一系統開機階段,初始化非揮發的一混合型記憶體;從該混合型記憶體讀取組態一快閃記憶體的一第一參數,以及一系統內程式碼;根據該第一參數初始化該快閃記憶體;以及執行該系統內程式碼,用於進入一正常工作模式並等待一主裝置發出的命令。
- 如請求項14所述的方法,更包含:於初始化該混合型記憶體前,偵測所有通過一介面連接的儲存單元的類型,用於找出該混合型記憶體。
- 如請求項15所述的方法,其中該處理單元通過該介面的硬體偵測致能的特定儲存單元的一特定腳位上的電壓準位來判斷該特定儲存單元是否屬於該混合型記憶體。
- 如請求項15所述的方法,其中該處理單元可通過該介面發送該混合型記憶體可辨認的命令給致能的特定儲存單元,並且根據是否收到正確的回覆來判斷該特定儲存單元是否屬於混合型記憶體。
- 如請求項15所述的方法,包含:從該混合型記憶體讀取組態一動態隨機存取記憶體的一第二參數;以及根據該第二參數組態該動態隨機存取記憶體。
- 如請求項15所述的方法,包含:請求該主裝置從主機端配置部分的動態隨機存取記憶體空間,作為主機內緩衝。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962787810P | 2019-01-03 | 2019-01-03 | |
US62/787,810 | 2019-01-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202026893A TW202026893A (zh) | 2020-07-16 |
TWI719494B true TWI719494B (zh) | 2021-02-21 |
Family
ID=71428322
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108109906A TWI739075B (zh) | 2019-01-03 | 2019-03-22 | 閃存的資料寫入方法及電腦程式產品 |
TW110102306A TWI828963B (zh) | 2019-01-03 | 2019-06-05 | 用於控制不同類型儲存單元的裝置及電腦程式產品 |
TW108119438A TWI719494B (zh) | 2019-01-03 | 2019-06-05 | 用於控制不同類型儲存單元的方法及裝置 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108109906A TWI739075B (zh) | 2019-01-03 | 2019-03-22 | 閃存的資料寫入方法及電腦程式產品 |
TW110102306A TWI828963B (zh) | 2019-01-03 | 2019-06-05 | 用於控制不同類型儲存單元的裝置及電腦程式產品 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN111399750B (zh) |
TW (3) | TWI739075B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11860669B2 (en) | 2020-09-29 | 2024-01-02 | Silicon Motion, Inc. | Method and apparatus and computer program product for storing data in flash memory |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949580B (zh) * | 2020-08-12 | 2021-11-12 | 深圳安捷丽新技术有限公司 | 多频率内存接口及其配置方法 |
TWI754396B (zh) * | 2020-09-29 | 2022-02-01 | 慧榮科技股份有限公司 | 快閃記憶體的資料儲存方法及裝置以及電腦程式產品 |
CN112379830B (zh) * | 2020-11-03 | 2022-07-26 | 成都佰维存储科技有限公司 | 有效数据位图的创建方法、装置、存储介质及电子设备 |
CN115617706A (zh) * | 2021-07-13 | 2023-01-17 | 美光科技公司 | 优化使用逻辑到物理表搜索的垃圾回收 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101661473A (zh) * | 2007-11-06 | 2010-03-03 | 三星电子株式会社 | 固态存储器、计算机系统以及操作固态存储器的方法 |
TWI442222B (zh) * | 2010-07-21 | 2014-06-21 | Silicon Motion Inc | 快閃記憶裝置與快閃記憶裝置管理方法 |
CN106484628A (zh) * | 2015-08-27 | 2017-03-08 | 三星电子株式会社 | 基于事务的混合存储器模块 |
US20180081543A1 (en) * | 2016-09-19 | 2018-03-22 | Micron Technology, Inc. | Memory devices and electronic systems having a hybrid cache with static and dynamic cells, and related methods |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8296467B2 (en) * | 2000-01-06 | 2012-10-23 | Super Talent Electronics Inc. | Single-chip flash device with boot code transfer capability |
US6973554B2 (en) * | 2003-04-23 | 2005-12-06 | Microsoft Corporation | Systems and methods for multiprocessor scalable write barrier |
US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
US7716411B2 (en) * | 2006-06-07 | 2010-05-11 | Microsoft Corporation | Hybrid memory device with single interface |
US7444461B2 (en) * | 2006-08-04 | 2008-10-28 | Sandisk Corporation | Methods for phased garbage collection |
US7441071B2 (en) * | 2006-09-28 | 2008-10-21 | Sandisk Corporation | Memory systems for phased garbage collection using phased garbage collection block or scratch pad block as a buffer |
CN101599295B (zh) * | 2008-06-02 | 2011-12-07 | 联阳半导体股份有限公司 | 整合型储存装置及其控制方法 |
CN102375779B (zh) * | 2010-08-16 | 2015-08-19 | 深圳市朗科科技股份有限公司 | 一种数据处理方法以及数据处理模块 |
KR20140127233A (ko) * | 2012-01-27 | 2014-11-03 | 마벨 월드 트레이드 리미티드 | 동적인 우선순위 제어를 위한 시스템들 및 방법들 |
CN102799534B (zh) * | 2012-07-18 | 2015-11-25 | 上海宝存信息科技有限公司 | 基于固态存储介质的存储系统及方法、冷热数据识别方法 |
US9417820B2 (en) * | 2012-12-06 | 2016-08-16 | Kabushiki Kaisha Toshiba | Low-overhead storage of a hibernation file in a hybrid disk drive |
US9348747B2 (en) * | 2013-10-29 | 2016-05-24 | Seagate Technology Llc | Solid state memory command queue in hybrid device |
US9684568B2 (en) * | 2013-12-26 | 2017-06-20 | Silicon Motion, Inc. | Data storage device and flash memory control method |
US9471254B2 (en) * | 2014-04-16 | 2016-10-18 | Sandisk Technologies Llc | Storage module and method for adaptive burst mode |
CN104361113B (zh) * | 2014-12-01 | 2017-06-06 | 中国人民大学 | 一种内存‑闪存混合存储模式下的olap查询优化方法 |
CN106326136A (zh) * | 2015-07-02 | 2017-01-11 | 广明光电股份有限公司 | 固态硬盘搜集垃圾区块的方法 |
US10409719B2 (en) * | 2016-03-17 | 2019-09-10 | Samsung Electronics Co., Ltd. | User configurable passive background operation |
TWI595412B (zh) * | 2016-09-09 | 2017-08-11 | 大心電子(英屬維京群島)股份有限公司 | 資料傳輸方法、記憶體儲存裝置及記憶體控制電路單元 |
US10359953B2 (en) * | 2016-12-16 | 2019-07-23 | Western Digital Technologies, Inc. | Method and apparatus for offloading data processing to hybrid storage devices |
CN108959108B (zh) * | 2017-05-26 | 2021-08-24 | 上海宝存信息科技有限公司 | 固态硬盘访问方法以及使用该方法的装置 |
CN107844431B (zh) * | 2017-11-03 | 2022-01-25 | 合肥兆芯电子有限公司 | 映射表更新方法、存储器控制电路单元与存储器存储装置 |
-
2019
- 2019-03-22 TW TW108109906A patent/TWI739075B/zh active
- 2019-03-22 CN CN201910220318.3A patent/CN111399750B/zh active Active
- 2019-06-05 CN CN201910486615.2A patent/CN111399752B/zh active Active
- 2019-06-05 TW TW110102306A patent/TWI828963B/zh active
- 2019-06-05 TW TW108119438A patent/TWI719494B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101661473A (zh) * | 2007-11-06 | 2010-03-03 | 三星电子株式会社 | 固态存储器、计算机系统以及操作固态存储器的方法 |
TWI442222B (zh) * | 2010-07-21 | 2014-06-21 | Silicon Motion Inc | 快閃記憶裝置與快閃記憶裝置管理方法 |
CN106484628A (zh) * | 2015-08-27 | 2017-03-08 | 三星电子株式会社 | 基于事务的混合存储器模块 |
US20180081543A1 (en) * | 2016-09-19 | 2018-03-22 | Micron Technology, Inc. | Memory devices and electronic systems having a hybrid cache with static and dynamic cells, and related methods |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11860669B2 (en) | 2020-09-29 | 2024-01-02 | Silicon Motion, Inc. | Method and apparatus and computer program product for storing data in flash memory |
Also Published As
Publication number | Publication date |
---|---|
CN111399752A (zh) | 2020-07-10 |
TW202137017A (zh) | 2021-10-01 |
CN111399750A (zh) | 2020-07-10 |
TW202026891A (zh) | 2020-07-16 |
TWI828963B (zh) | 2024-01-11 |
TW202026893A (zh) | 2020-07-16 |
CN111399750B (zh) | 2023-05-26 |
CN111399752B (zh) | 2023-11-28 |
TWI739075B (zh) | 2021-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI719494B (zh) | 用於控制不同類型儲存單元的方法及裝置 | |
TWI704487B (zh) | 資料儲存設備及其操作方法 | |
TWI385523B (zh) | 用於快閃記憶體的資料備份方法及其控制器與儲存系統 | |
TWI703571B (zh) | 數據儲存裝置及其操作方法 | |
US8516298B2 (en) | Data protection method for damaged memory cells | |
US11199991B2 (en) | Method and apparatus for controlling different types of storage units | |
US11693797B2 (en) | Enabling devices with enhanced persistent memory region access | |
TWI698749B (zh) | 資料儲存裝置與資料處理方法 | |
US11960756B2 (en) | Management of storage space in solid state drives to support proof of space activities | |
US11775188B2 (en) | Communications to reclaim storage space occupied by proof of space plots in solid state drives | |
TWI525625B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI479315B (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
TWI607309B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
KR102713986B1 (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
CN110047537B (zh) | 一种半导体存储装置及计算机系统 | |
KR20200114086A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
TWI738235B (zh) | 用來進行恢復管理的方法以及記憶裝置及其控制器以及電子裝置 | |
TW201935232A (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
KR20230164477A (ko) | 스토리지 장치 및 이를 포함하는 전자 장치와 그 동작 방법 | |
TW202240390A (zh) | 儲存系統及其操作方法 | |
KR102590886B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
TWI648629B (zh) | 映射表更新方法、記憶體控制電路單元與記憶體儲存裝置 | |
US20230266903A1 (en) | Quad-level cells mapped in a memory device of an information handling system | |
TWI712052B (zh) | 記憶體管理方法、儲存控制器與儲存裝置 | |
TWI814666B (zh) | 資料儲存裝置與動態決定緩存器大小的方法 |