TW202137017A - 用於控制不同類型儲存單元的裝置及電腦程式產品 - Google Patents

用於控制不同類型儲存單元的裝置及電腦程式產品 Download PDF

Info

Publication number
TW202137017A
TW202137017A TW110102306A TW110102306A TW202137017A TW 202137017 A TW202137017 A TW 202137017A TW 110102306 A TW110102306 A TW 110102306A TW 110102306 A TW110102306 A TW 110102306A TW 202137017 A TW202137017 A TW 202137017A
Authority
TW
Taiwan
Prior art keywords
interface
memory
type
storage unit
flash memory
Prior art date
Application number
TW110102306A
Other languages
English (en)
Other versions
TWI828963B (zh
Inventor
許勝一
Original Assignee
慧榮科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Publication of TW202137017A publication Critical patent/TW202137017A/zh
Application granted granted Critical
Publication of TWI828963B publication Critical patent/TWI828963B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (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)操作,用於延長大量儲存裝置的使用壽命。當大量儲存裝置的儲存空間只以三層式單元實施時,對於主裝置來說,應用的彈性不足,例如,較不適合需要快速存取的冷資料。因此,本發明提出一種用於控制不同類型儲存單元的方法及裝置,用以克服如上所述的限制。
有鑑於此,如何減輕或消除上述相關領域的缺失,實為有待解決的問題。
本發明提出一種用於控制不同類型儲存單元的裝置。該裝置包含:介面;及處理單元。介面包含多個通道,每個通道連接第一類型及第二類型的儲存單元。處理單元耦接介面,用於組態介面為第一工作模式;驅動介面發出第一訊號致能不同通道間的第一類型的儲存單元;驅動介面存取第一類型的儲存單元的資料;以及於存取第二類型的儲存單元的資料前,重新組態介面為第二工作模式。
本發明另提出一種電腦程式產品,包含程式碼,當程式碼被處理單元執行時用於控制不同類型儲存單元。程式碼用於:組態介面為第一工作模式,介面包含多個通道,每個通道連接第一類型及第二類型的儲存單元;驅動介面發出第一訊號致能連接多個通道的第一類型的儲存單元;驅動該介面存取第一類型的儲存單元的資料;以及於存取第二類型的儲存單元的資料前,重新組態介面為第二工作模式。
第一工作模式相應於第一類型的儲存單元,並且第二工作模式相應於第二類型的儲存單元。
本發明另提出一種用於控制不同類型儲存單元的裝置。該裝置包含:介面;及處理單元。介面連接多個儲存單元,其中,該些儲存單元包含非揮發的混合型記憶體和快閃記憶體。處理單元耦接介面,用於在系統開機階段,初始化混合型記憶體;從混合型記憶體讀取組態快閃記憶體的參數,以及系統內程式碼;根據參數初始化快閃記憶體;以及執行系統內程式碼,用於進入正常工作模式並等待主裝置發出的命令。
本發明另提出一種電腦程式產品,包含程式碼,當程式碼被處理單元執行時用於控制不同類型儲存單元。程式碼用於:於系統開機階段,初始化非揮發的混合型記憶體;從混合型記憶體讀取組態快閃記憶體的參數,以及系統內程式碼;根據參數初始化快閃記憶體;以及執行系統內程式碼,用於進入正常工作模式並等待主裝置發出的命令。
上述實施例的優點之一,多種類型的儲存單元的設置可提供主裝置更多樣的應用潛能。
本發明的其他優點將搭配以下的說明和圖式進行更詳細的解說。
以下說明為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。
必須了解的是,使用於本說明書中的”包含”、”包括”等詞,用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
於權利要求中使用如”第一”、"第二"、"第三"等詞是用來修飾權利要求中的元件,並非用來表示之間具有優先順序,前置關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。
必須了解的是,當元件描述為”連接”或”耦接"至另一元件時,可以是直接連結、或耦接至其他元件,可能出現中間元件。相反地,當元件描述為”直接連接”或”直接耦接”至另一元件時,其中不存在任何中間元件。使用來描述元件之間關係的其他語詞也可類似方式解讀,例如”介於”相對於”直接介於”,或者是”鄰接”相對於”直接鄰接”等等。
參考圖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。
雙模閃存介面139配置有30支接腳,表1顯示雙模快閃介面139的接腳功能(Pin Function): 表1
接腳編號 ONFI(Async) Toggle ONFI(Sync) Flash-like I/F
0~7 Data[0:7] Data[0:7] Data[0:7] Data[0:7]
8 CE# CE# CE# CS
9 ALE ALE ALE Select_In
10 CLE CLE CLE CA
11 RE# RE# R/W x
12 RE_c RE_c RE_c x
13 WE# WE# Clock Clock
14 R/B# R/B# R/B# x
15 WP# WP# WP# x
16 DQS_c DQS_c DQS_c x
17 DQS# DQS# DQS# DQS#
18 ZQ ZQ ZQ ZQ
19~26 x x Data[8:15] x
27 x x x Clock_c
28 x x x CKE
29 x x x ODT
如表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。
雙模記憶體介面137配置有51支接腳,表2顯示雙模記憶體介面137的接腳功能(Pin Function): 表2
接腳編號 DDR4 DRAM-like I/F
0~7 Data[0:7] Data[0:7]
8 CS CS
9 RAS# Select_In
10 CAS# CA
11 Clock Clock
12 Clock_c Clock_c
13 Reset# Reset#
14 CKE CKE
15 ODT ODT
16 Alert Alert
17 x Select_Out
18 DQS# DQS#
19 ZQ ZQ
20 WP# x
21 DTQS x
22~24 Chip ID [0:2] x
25 ACT x
26 DM x
27 DBI x
28~29 BG[0~1] x
30~31 BA[0~1] x
32~47 A[0-17] x
48 DTQS x
49 PAR x
50 TEN x
如表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:動態隨機存取記憶體
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為依據本發明實施例資料儲存裝置不搭載動態隨機存取記憶體的系統開機流程圖。
100:系統架構
110:主裝置
130:控制器
131:處理單元
132:唯讀記憶體
133:靜態隨機存取記憶體
135:主裝置介面
137:記憶體介面
139:閃存介面
151:動態隨機存取記憶體
153:類動態隨機存取記憶體
171:快閃記憶體
173:類快閃記憶體

Claims (14)

  1. 一種用於控制不同類型儲存單元的裝置,包含: 一介面,包含多個通道,其中該每個通道連接一第一類型及一第二類型的儲存單元;以及 一處理單元,耦接該介面,用於組態該介面為一第一工作模式,其中該第一工作模式相應於該第一類型的儲存單元;驅動該介面發出一第一訊號致能連接該多個通道的該第一類型的儲存單元;驅動該介面存取該第一類型的儲存單元的資料;以及於存取該第二類型的儲存單元的資料前,重新組態該介面為一第二工作模式,其中該第二工作模式相應於該第二類型的儲存單元。
  2. 如請求項1所述的裝置,其中該第一類型的儲存單元為非揮發的一類快閃記憶體模組,該第二類型的儲存單元為一快閃記憶體模組,該處理單元於開機時組態該介面為該第一工作模式,並且驅動該介面存取該類快閃記憶體模組中用來組態該快閃記憶體模組的參數,該處理單元於開機成功後組態該介面為該第二工作模式。
  3. 如請求項1所述的裝置,其中該第一類型的儲存單元為非揮發的一類動態隨機存取記憶體模組,該第二類型的儲存單元為一動態隨機存取記憶體模組,該處理單元於開機時組態該介面為該第一工作模式,並且驅動該介面存取該類動態隨機存取記憶體模組中用來組態該動態隨機存取記憶體模組的參數,該處理單元於開機成功後組態該介面為該第二工作模式。
  4. 一種電腦程式產品,包含一程式碼,當該程式碼被一處理單元執行時用於控制不同類型儲存單元,該程式碼用於: 組態一介面為一第一工作模式,其中該介面包含多個通道,該每個通道連接一第一類型及一第二類型的儲存單元,該第一工作模式相應於該第一類型的儲存單元; 驅動該介面發出一第一訊號致能連接該多個通道的該第一類型的儲存單元; 驅動該介面存取該第一類型的儲存單元的資料;以及 於存取該第二類型的儲存單元的資料前,重新組態該介面為一第二工作模式,該第二工作模式相應於該第二類型的儲存單元。
  5. 如請求項4所述的電腦程式產品,其中該第一類型的儲存單元為非揮發的一類快閃記憶體模組,該第二類型的儲存單元為一快閃記憶體模組,該程式碼用於: 於開機時組態該介面為該第一工作模式,並且驅動該介面存取該類快閃記憶體模組中用來組態該快閃記憶體模組的參數;以及 於開機成功後組態該介面為該第二工作模式。
  6. 如請求項4所述的電腦程式產品,其中該第一類型的儲存單元為非揮發的一類動態隨機存取記憶體模組,該第二類型的儲存單元為一動態隨機存取記憶體模組,該程式碼用於: 於開機時組態該介面為該第一工作模式,並且驅動該介面存取該類動態隨機存取記憶體模組中用來組態該動態隨機存取記憶體模組的參數;以及 於開機成功後組態該介面為該第二工作模式。
  7. 一種用於控制不同類型儲存單元的裝置,包含: 一介面,連接多個儲存單元,其中,該多個儲存單元包含非揮發的一混合型記憶體和一快閃記憶體;以及 一處理單元,耦接該介面,用於在一系統開機階段,初始化該混合型記憶體;從該混合型記憶體讀取組態該快閃記憶體的一第一參數,以及一系統內程式碼;根據該第一參數初始化該快閃記憶體;以及執行該系統內程式碼,用於進入一正常工作模式並等待一主裝置發出的命令。
  8. 如請求項7所述的裝置,其中該處理單元於初始化該混合型記憶體前,偵測所有通過該介面連接的該多個儲存單元的類型,用於找出該混合型記憶體。
  9. 如請求項8所述的裝置,其中該處理單元通過該介面的硬體偵測致能的特定儲存單元的一特定腳位上的電壓準位來判斷該特定儲存單元是否屬於該混合型記憶體。
  10. 如請求項8所述的裝置,其中該處理單元通過該介面發送該混合型記憶體可辨認的命令給致能的特定儲存單元,並且根據是否收到正確的回覆來判斷該特定儲存單元是否屬於混合型記憶體。
  11. 一種電腦程式產品,包含一程式碼,當該程式碼被一處理單元執行時用於控制不同類型儲存單元,該程式碼用於: 於一系統開機階段,初始化非揮發的一混合型記憶體; 從該混合型記憶體讀取組態一快閃記憶體的一第一參數,以及一系統內程式碼; 根據該第一參數初始化該快閃記憶體;以及 執行該系統內程式碼,用於進入一正常工作模式並等待一主裝置發出的命令。
  12. 如請求項11所述的電腦程式產品,該程式碼用於: 於初始化該混合型記憶體前,偵測所有通過一介面連接的儲存單元的類型,用於找出該混合型記憶體。
  13. 如請求項12所述的電腦程式產品,該程式碼用於: 從該混合型記憶體讀取組態一動態隨機存取記憶體的一第二參數;以及 根據該第二參數組態該動態隨機存取記憶體。
  14. 如請求項12所述的電腦程式產品,該程式碼用於: 請求該主裝置從主機端配置部分的動態隨機存取記憶體空間,作為主機內存緩衝。
TW110102306A 2019-01-03 2019-06-05 用於控制不同類型儲存單元的裝置及電腦程式產品 TWI828963B (zh)

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
TW202137017A true TW202137017A (zh) 2021-10-01
TWI828963B TWI828963B (zh) 2024-01-11

Family

ID=71428322

Family Applications (3)

Application Number Title Priority Date Filing Date
TW108109906A TWI739075B (zh) 2019-01-03 2019-03-22 閃存的資料寫入方法及電腦程式產品
TW108119438A TWI719494B (zh) 2019-01-03 2019-06-05 用於控制不同類型儲存單元的方法及裝置
TW110102306A TWI828963B (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 閃存的資料寫入方法及電腦程式產品
TW108119438A TWI719494B (zh) 2019-01-03 2019-06-05 用於控制不同類型儲存單元的方法及裝置

Country Status (2)

Country Link
CN (2) CN111399750B (zh)
TW (3) TWI739075B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949580B (zh) * 2020-08-12 2021-11-12 深圳安捷丽新技术有限公司 多频率内存接口及其配置方法
TWI754396B (zh) * 2020-09-29 2022-02-01 慧榮科技股份有限公司 快閃記憶體的資料儲存方法及裝置以及電腦程式產品
CN114327240A (zh) 2020-09-29 2022-04-12 慧荣科技股份有限公司 计算机可读存储介质、闪存存储器的数据存储方法及装置
CN112379830B (zh) * 2020-11-03 2022-07-26 成都佰维存储科技有限公司 有效数据位图的创建方法、装置、存储介质及电子设备

Family Cites Families (25)

* Cited by examiner, † Cited by third party
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
KR101404083B1 (ko) * 2007-11-06 2014-06-09 삼성전자주식회사 반도체 디스크 및 그것의 동작 방법
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
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 联阳半导体股份有限公司 整合型储存装置及其控制方法
TWI442222B (zh) * 2010-07-21 2014-06-21 Silicon Motion Inc 快閃記憶裝置與快閃記憶裝置管理方法
CN102375779B (zh) * 2010-08-16 2015-08-19 深圳市朗科科技股份有限公司 一种数据处理方法以及数据处理模块
US9146690B2 (en) * 2012-01-27 2015-09-29 Marvell World Trade Ltd. Systems and methods for dynamic priority control
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 广明光电股份有限公司 固态硬盘搜集垃圾区块的方法
US20170060434A1 (en) * 2015-08-27 2017-03-02 Samsung Electronics Co., Ltd. Transaction-based hybrid memory module
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 大心電子(英屬維京群島)股份有限公司 資料傳輸方法、記憶體儲存裝置及記憶體控制電路單元
US10359933B2 (en) * 2016-09-19 2019-07-23 Micron Technology, Inc. Memory devices and electronic systems having a hybrid cache including static and dynamic caches with single and multiple bits per cell, and related methods
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 合肥兆芯电子有限公司 映射表更新方法、存储器控制电路单元与存储器存储装置

Also Published As

Publication number Publication date
TW202026891A (zh) 2020-07-16
TWI828963B (zh) 2024-01-11
CN111399752A (zh) 2020-07-10
CN111399750A (zh) 2020-07-10
TWI719494B (zh) 2021-02-21
CN111399750B (zh) 2023-05-26
CN111399752B (zh) 2023-11-28
TWI739075B (zh) 2021-09-11
TW202026893A (zh) 2020-07-16

Similar Documents

Publication Publication Date Title
TWI719494B (zh) 用於控制不同類型儲存單元的方法及裝置
TWI704487B (zh) 資料儲存設備及其操作方法
US10860247B2 (en) Data writing method and storage controller
US8516298B2 (en) Data protection method for damaged memory cells
WO2018022188A1 (en) Systems and methods of memory reads
US11748022B2 (en) Method and apparatus for controlling different types of storage units
US11693797B2 (en) Enabling devices with enhanced persistent memory region access
CN110047537B (zh) 一种半导体存储装置及计算机系统
KR20210147696A (ko) 데이터 저장 장치 및 그것의 동작 방법
TW202314525A (zh) 記憶體輪詢方法、記憶體儲存裝置及記憶體控制電路單元
TWI526818B (zh) 休眠模式啓動方法、記憶體控制電路單元及儲存裝置
KR20200076846A (ko) 메모리 장치에 저장된 데이터의 에러를 검출하는 장치 및 그 동작 방법
TW201935232A (zh) 記憶體管理方法及使用所述方法的儲存控制器
KR20220132026A (ko) 메모리 디바이스의 다중 핀 구성
TWI672593B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
US20170125070A1 (en) System and method for hibernation using a delta generator engine
TW202240390A (zh) 儲存系統及其操作方法
KR102590886B1 (ko) 메모리 시스템 및 메모리 시스템의 동작방법
TWI648629B (zh) 映射表更新方法、記憶體控制電路單元與記憶體儲存裝置
KR20210034456A (ko) 메모리 컨트롤러, 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US20190163625A1 (en) Data storage device and operating method thereof
TWI712052B (zh) 記憶體管理方法、儲存控制器與儲存裝置
KR20150044654A (ko) 불휘발성 메모리 장치 및 그것을 포함하는 데이터 저장 장치
US11899598B2 (en) Data storage device and method for lane selection based on thermal conditions
US11734184B2 (en) Effective avoidance of line cache misses