[go: up one dir, main page]

TWI828963B - Apparatus and computer program product for controlling different types of storage units - Google Patents

Apparatus and computer program product for controlling different types of storage units Download PDF

Info

Publication number
TWI828963B
TWI828963B TW110102306A TW110102306A TWI828963B TW I828963 B TWI828963 B TW I828963B TW 110102306 A TW110102306 A TW 110102306A TW 110102306 A TW110102306 A TW 110102306A TW I828963 B TWI828963 B TW I828963B
Authority
TW
Taiwan
Prior art keywords
interface
memory
type
flash memory
storage unit
Prior art date
Application number
TW110102306A
Other languages
Chinese (zh)
Other versions
TW202137017A (en
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/en
Application granted granted Critical
Publication of TWI828963B publication Critical patent/TWI828963B/en

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

The invention introduces an apparatus and a computer program product for controlling different types of storage units. The apparatus includes an interface and a processing unit. The interface includes channels and each channel is connected to a first type and a second type of storage units. The processing unit coupled to the interface is arranged operably to configure the interface in a first operation mode corresponding to the first type of storage units; drive the interface to issue a first signal to enable the first types of storage units connected to different channels; drive the interface to read data from the first type of storage units; and before accessing to data of the second type of storage units, reconfigure the interface in a second operation mode corresponding to the second type of storage units. The installation of different types of storage units provides a wide range of application potentials to a host.

Description

用於控制不同類型儲存單元的裝置及電腦程式產品Devices and computer program products used to control different types of storage units

本發明涉及儲存裝置,尤指一種用於控制不同類型儲存單元的裝置及電腦程式產品。The present invention relates to storage devices, and in particular, to a device and computer program product for controlling different types of storage units.

快閃記憶裝置通常分為NOR快閃記憶裝置與NAND快閃記憶裝置。NOR快閃記憶裝置為隨機存取裝置,主裝置(Host)可於位址腳位上提供任何存取NOR快閃記憶裝置的位址,並及時地從NOR快閃記憶裝置的資料腳位上獲得儲存於該位址上的資料。相反地,NAND快閃記憶裝置並非隨機存取,而是序列存取。NAND快閃記憶裝置無法像NOR快閃記憶裝置一樣,可以存取任何隨機位址,主裝置反而需要寫入序列的位元組(Bytes)的值到NAND快閃記憶裝置中,用以定義請求命令(Command)的類型(如,讀取、寫入、抹除等),以及用在此命令上的位址。位址可指向一個頁面(快閃記憶裝置中寫入作業的最小單位)或一個區塊(快閃記憶裝置中抹除作業的最小單位)。Flash memory devices are generally divided into NOR flash memory devices and NAND flash memory devices. The NOR flash memory device is a random access device. The host device (Host) can provide any address for accessing the NOR flash memory device on the address pin and obtain the data pin of the NOR flash memory device in real time. Get the data stored at this address. In contrast, NAND flash memory devices do not have random access, but sequential access. NAND flash memory devices cannot access any random address like NOR flash memory devices. Instead, the master device needs to write a sequence of Bytes values to the NAND flash memory device to define the request. The type of command (such as read, write, erase, etc.), and the address used for this command. An address can point to a page (the smallest unit of a write operation in a flash memory device) or a block (the smallest unit of an erase operation in a flash memory device).

大量儲存裝置(Mass Storage Device)的儲存空間可使用NAND快閃記憶裝置實施,其中包含大量的三層式單元(Triple Level Cells, TLCs),用來儲存大量的資料。然而,三層式單元的寫入需要較長的時間。此外,三層式單元還需要耗費時間執行耗損平均(Wear Leveling)操作,用於延長大量儲存裝置的使用壽命。當大量儲存裝置的儲存空間只以三層式單元實施時,對於主裝置來說,應用的彈性不足,例如,較不適合需要快速存取的冷資料。因此,本發明提出一種用於控制不同類型儲存單元的方法及裝置,用以克服如上所述的限制。The storage space of a mass storage device (Mass Storage Device) can be implemented using NAND flash memory devices, which contain a large number of Triple Level Cells (TLCs) to store large amounts of data. However, writing to a triple-layer unit takes longer. In addition, three-tier units also require time-consuming wear leveling operations to extend the service life of large-scale storage devices. When the storage space of a mass storage device is only implemented in three-tier units, the application flexibility for the main device is insufficient. For example, it is less suitable for cold data that requires quick access. Therefore, the present invention proposes a method and device for controlling different types of storage units to overcome the above limitations.

有鑑於此,如何減輕或消除上述相關領域的缺失,實為有待解決的問題。In view of this, how to alleviate or eliminate the deficiencies in the above-mentioned related fields is a problem that needs to be solved.

本發明提出一種用於控制不同類型儲存單元的裝置。該裝置包含:介面;及處理單元。介面包含多個通道,每個通道連接第一類型及第二類型的儲存單元。處理單元耦接介面,用於組態介面為第一工作模式;驅動介面發出第一訊號致能不同通道間的第一類型的儲存單元;驅動介面存取第一類型的儲存單元的資料;以及於存取第二類型的儲存單元的資料前,重新組態介面為第二工作模式。The invention proposes a device for controlling different types of storage units. The device includes: an interface; and a processing unit. The interface includes a plurality of channels, and each channel is connected to a storage unit of the first type and a second type. The processing unit coupling interface is used to configure the interface in a first working mode; the driver interface sends a first signal to enable the first type of storage unit between different channels; the driver interface accesses data of the first type of storage unit; and Before accessing data in the storage unit of the second type, the interface is reconfigured into the second working mode.

本發明另提出一種電腦程式產品,包含程式碼,當程式碼被處理單元執行時用於控制不同類型儲存單元。程式碼用於:組態介面為第一工作模式,介面包含多個通道,每個通道連接第一類型及第二類型的儲存單元;驅動介面發出第一訊號致能連接多個通道的第一類型的儲存單元;驅動該介面存取第一類型的儲存單元的資料;以及於存取第二類型的儲存單元的資料前,重新組態介面為第二工作模式。The present invention also provides a computer program product, which includes program code and is used to control different types of storage units when the program code is executed by a processing unit. The program code is used to: configure the interface in the first working mode, the interface includes multiple channels, each channel is connected to the storage unit of the first type and the second type; the driver interface sends a first signal to enable the first connection of the multiple channels. a storage unit of the first type; driving the interface to access data of the storage unit of the first type; and reconfiguring the interface to the second working mode before accessing data of the storage unit of the second type.

第一工作模式相應於第一類型的儲存單元,並且第二工作模式相應於第二類型的儲存單元。The first operating mode corresponds to a first type of storage unit, and the second operating mode corresponds to a second type of storage unit.

本發明另提出一種用於控制不同類型儲存單元的裝置。該裝置包含:介面;及處理單元。介面連接多個儲存單元,其中,該些儲存單元包含非揮發的混合型記憶體和快閃記憶體。處理單元耦接介面,用於在系統開機階段,初始化混合型記憶體;從混合型記憶體讀取組態快閃記憶體的參數,以及系統內程式碼;根據參數初始化快閃記憶體;以及執行系統內程式碼,用於進入正常工作模式並等待主裝置發出的命令。The invention also provides a device for controlling different types of storage units. The device includes: an interface; and a processing unit. The interface connects multiple storage units, wherein the storage units include non-volatile hybrid memory and flash memory. The processing unit coupling interface is used to initialize the hybrid memory during the system startup phase; read parameters for configuring the flash memory and the system code from the hybrid memory; initialize the flash memory according to the parameters; and Execute the program code in the system to enter the normal working mode and wait for commands from the main device.

本發明另提出一種電腦程式產品,包含程式碼,當程式碼被處理單元執行時用於控制不同類型儲存單元。程式碼用於:於系統開機階段,初始化非揮發的混合型記憶體;從混合型記憶體讀取組態快閃記憶體的參數,以及系統內程式碼;根據參數初始化快閃記憶體;以及執行系統內程式碼,用於進入正常工作模式並等待主裝置發出的命令。The present invention also provides a computer program product, which includes program code and is used to control different types of storage units when the program code is executed by a processing unit. The program code is used to: initialize the non-volatile hybrid memory during the system boot phase; read the parameters of the configured flash memory from the hybrid memory, as well as the program code in the system; initialize the flash memory according to the parameters; and Execute the program code in the system to enter the normal working mode and wait for commands from the main device.

上述實施例的優點之一,多種類型的儲存單元的設置可提供主裝置更多樣的應用潛能。One of the advantages of the above embodiments is that the arrangement of multiple types of storage units can provide the host device with more diverse application potentials.

本發明的其他優點將搭配以下的說明和圖式進行更詳細的解說。Other advantages of the present invention will be explained in more detail in conjunction with the following description and drawings.

以下說明為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。The following description is a preferred implementation manner for completing the invention, and its purpose is to describe the basic spirit of the invention, but is not intended to limit the invention. For the actual invention, reference must be made to the following claims.

必須了解的是,使用於本說明書中的”包含”、”包括”等詞,用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。It must be understood that the words "including" and "include" used in this specification are used to indicate the existence of specific technical features, numerical values, method steps, work processes, components and/or components, but do not exclude the possibility of adding further technical features, values, method steps, processes, components, components, or any combination of the above.

於權利要求中使用如”第一”、"第二"、"第三"等詞是用來修飾權利要求中的元件,並非用來表示之間具有優先順序,前置關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。Words such as "first", "second", and "third" used in the claims are used to modify the elements in the claims, and are not used to indicate a priority, precedence relationship, or a single element. Prior to another element, or the chronological order in which method steps are performed, it is only used to distinguish elements with the same name.

必須了解的是,當元件描述為”連接”或”耦接"至另一元件時,可以是直接連結、或耦接至其他元件,可能出現中間元件。相反地,當元件描述為”直接連接”或”直接耦接”至另一元件時,其中不存在任何中間元件。使用來描述元件之間關係的其他語詞也可類似方式解讀,例如”介於”相對於”直接介於”,或者是”鄰接”相對於”直接鄰接”等等。It must be understood that when an element is described as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element, and intervening elements may be present. In contrast, when an element is described as being "directly connected" or "directly coupled" to another element, there are no intervening elements present. Other words used to describe the relationship between elements could be interpreted in a similar fashion, such as "between" versus "directly between," or "adjacent" versus "directly adjacent," etc.

參考圖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)。Refer to Figure 1. The general system architecture 100 includes a main device 110, a memory controller 130, a dynamic random access memory 151 (Dynamic Random Access Memory DRAM), a dynamic random access memory 153 (DRAM-like), a flash memory ( Flash) 171 and flash-like memory (Flash-like) 173. This system architecture 100 can be implemented in electronic products such as personal computers, laptop computers (Laptop PC), tablet computers, mobile phones, digital cameras, and digital video cameras. The memory controller 130 is a special application integrated circuit (Application-Specific Integrated Circuit ASIC) used to control dynamic random access memory 151, quasi-dynamic random access memory 153, flash memory 171 or The data access of the flash memory 173 may include the processing unit 131, the read-only memory 132, the static random access memory (Static Random Access Memory SRAM), the main device interface 135, the dual-mode memory interface 137 and the dual-mode memory interface 137. Mode flash interface 139. The memory controller 130, dynamic random access memory 151, dynamic random access memory-like 153, flash memory 171 or flash memory-like 173 can be provided on the data storage device, and the data storage device can be connected to the main device 110 communicates and executes the host command (Host Command) from the main device 110.

於一些節約成本的實施例中,資料儲存裝置可精簡為僅設置動態隨機存取記憶體151、類動態隨機存取記憶體153、快閃記憶體171以及類快閃記憶體173的任二個或任二個以上。於另一些節約成本的實施例中,系統架構100可精簡為不設置動態隨機存取記憶體151及類動態隨機存取記憶體153,使得記憶體控制器130可精簡為不設置雙模記憶體介面137,或是去能(Disable)雙模記憶體介面137的運作。In some cost-saving embodiments, the data storage device can be simplified to only any two of the dynamic random access memory 151, the dynamic random access memory 153, the flash memory 171 and the flash memory 173. Or any two or more. In other cost-saving embodiments, the system architecture 100 can be simplified to not include the dynamic random access memory 151 and the quasi-dynamic random access memory 153, so that the memory controller 130 can be simplified to not include the dual-mode memory. interface 137, or disable the operation of the dual-mode memory interface 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)以及變數等。The flash memory 171 provides a large amount of storage space, usually hundreds of Gigabytes or even Terabytes, which can be used to store a large amount of user data, such as high-resolution pictures, videos, etc. The memory cells in the flash memory 171 may be triple level cells (Triple Level Cells, TLCs) or quad-level cells (Quad-Level Cells QLCs). The dynamic random access memory 151 can be used to cache user data from the main device 110 or from the flash memory 171, and can also be used to cache part or all of the Logical-Physical Address Mapping Table (L2P Table). . The dynamic random access memory 151 can also store firmware and variables required for the operation of the data storage device.

記憶體控制器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)時,提供之後描述的功能。多處理器為單一的運算元件,可配備二或更多的獨立處理器(又稱為多核)來讀取及執行程式指令。The memory controller 130 includes a processing unit 131 that communicates with the host device 110 through a host device interface 135 . The main device interface 135 can be universal flash storage (Universal Flash Storage UFS), fast non-volatile memory (Non-Volatile Memory Express NVMe), universal serial bus (Universal Serial Bus, USB), advanced technology attachment (advanced technology attachment (ATA), serial advanced technology attachment (SATA), peripheral component interconnect express (PCI-E) or other interfaces. Either the main device 110 or the processing unit 131 may be implemented in a variety of ways, such as using general-purpose hardware (eg, a single processor, a multi-processor with parallel processing capabilities, or other processors with computing capabilities), and When executing firmware or software instructions (Instructions), the functions described later are provided. A multiprocessor is a single computing element that can be equipped with two or more independent processors (also called multi-cores) to read and execute program 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)或其他介面。The processing unit 131 can communicate with the flash memory 171 through a dual-mode flash memory interface 139, for example, Open NAND Flash (Open NAND Flash Interface ONFI), double data rate switch (DDR Toggle) or other interfaces can be used. The processing unit 131 can communicate with the dynamic random access memory 151 through the dual-mode memory interface 137. For example, the third generation double data rate (Double Data Rate Third Generation, DDR3) or the fourth generation double data rate (DDR3) can be used. Double Data Rate Fourth Generation (DDR4) or other interface.

類動態隨機存取記憶體153又稱為混合型記憶體,可由相變記憶體(Phase-Change Memory)或磁阻式記憶體來實現。類動態隨機存取記憶體153具有較快的資料存取能力,故可作為資料緩衝(Buffer)器,用以暫存資料;更甚者,類動態隨機存取記憶體153可提供長時間的資料儲存能力,即類動態隨機存取記憶體153亦可作為資料儲存媒體。類動態隨機存取記憶體153採用類似於動態隨機存取記憶體151的操作介面,類動態隨機存取記憶體153的存取速度例如僅為動態隨機存取記憶體151的1/10,但是,資料儲存量例如可為動態隨機存取記憶體151的10倍。The quasi-dynamic random access memory 153 is also called a hybrid memory and can be implemented by a phase-change memory (Phase-Change Memory) or a magnetoresistive memory. The quasi-Dynamic Random Access Memory 153 has faster data access capabilities, so it can be used as a data buffer (Buffer) to temporarily store data; what's more, the quasi-Dynamic Random Access Memory 153 can provide long-term storage Data storage capability, the DRAM-like 153 can also be used as a data storage medium. The similar dynamic random access memory 153 adopts an operation interface similar to the dynamic random access memory 151. The access speed of the similar dynamic random access memory 153 is only 1/10 of the dynamic random access memory 151, but , the data storage capacity may be, for example, 10 times that of the dynamic random access memory 151 .

類快閃記憶體173亦可稱為混合型記憶體,本質上為快閃記憶體,記憶單元為單層式單元(SLC),但是,面頁(Page)的資料長度例如僅為512B,可提供長時間的資料儲存能力,故可作為資料儲存媒體。類快閃記憶體173採用類似於快閃記憶體171的操作介面,類快閃記憶體173的存取速度例如可為快閃記憶體171的10倍,但是,資料儲存量例如僅為快閃記憶體171的1/10。Flash-like memory 173 can also be called a hybrid memory. It is essentially a flash memory. The memory unit is a single-level cell (SLC). However, the data length of a page (Page) is only 512B, for example. It provides long-term data storage capability, so it can be used as a data storage medium. The flash memory 173 uses an operating interface similar to the flash memory 171 . The access speed of the flash memory 173 is, for example, 10 times that of the flash memory 171 . However, the data storage capacity is only that of the flash memory 171 . 1/10 of memory 171.

處理單元131可分別透過類記憶體介面(Memory-like Interface I/F)及類快閃介面(Flash-like I/F)分別與類動態隨機存取記憶體153及類快閃記憶體173通信。類動態隨機存取記憶體153及類快閃記憶體173亦可稱為混合型記憶體(Hybrid Memory),因為具備非揮發性的資料儲存特性,且其存取速度介於快閃記憶體171與動態隨機存取記憶體151之間。The processing unit 131 can communicate with the DRAM-like 153 and the Flash-like memory 173 through a Memory-like Interface I/F and a Flash-like I/F respectively. . Dynamic random access memory 153 and flash memory 173 can also be called hybrid memory because they have non-volatile data storage characteristics and their access speed is between flash memory 171 and dynamic random access memory 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個錯誤位元的修正能力。In addition, compared to flash memory 171, hybrid memory has better endurance (Endurance) and better data retention capabilities. Therefore, data unlike flash memory 171 usually requires higher error correction capabilities. Error-Correcting Code (ECC), such as Low-Density Parity Check Code (LDPC), protection. Data stored in hybrid memory can be protected using ECC with lower error correction capabilities, such as BCH code (Bose–Chaudhuri–Hocquenghem Code). Taking each 1K byte of user data as an example, the BCH code can provide the ability to correct up to 72 error bits, while the LDPC can provide the ability to correct up to 128 error bits.

此外,就資料存取的延遲時間(Latency)來說,動態隨機存取記憶體151優於混合型記憶體,而混合型記憶體又優於快閃記憶體171。所以,基於以上特性的不同,混合型記憶體可提供更多樣的應用,例如,儲存開機時所需的資訊、作為主裝置110的第四階快取(Level-4 Cache)等。In addition, in terms of data access latency (Latency), dynamic random access memory 151 is better than hybrid memory, and hybrid memory is better than flash memory 171. Therefore, based on the differences in the above characteristics, the hybrid memory can provide more diverse applications, such as storing information required during booting, serving as a Level-4 Cache for the main device 110, etc.

由於類快閃記憶體173採用快閃記憶體作為資料儲存媒體,因此類快閃介面與快閃介面相似,類快閃介面與快閃介面有部份接腳定義(Pin Definition)為相同或相容,但有些接腳定義為不相同。因此,雙模快閃介面139乃以快閃介面為基礎,並予以擴展而成。類似的,類記憶體介面與記憶體介面相似,類記憶體介面與記憶體介面有部份接腳定義為相同或相容,但有些接腳定義為不相同,因此,雙模記憶體介面137乃以記憶體介面為基礎,並予以擴展而成。換句話說,雙模閃存介面139及雙模記憶體介面137是一種整合型介面,可以分別存取不同類型的快閃記憶體及隨機存取記憶體。另外,雙模閃存介面139較佳以以頁面(Page)為資料寫入的最小單位,區塊為資料抹寫的最小單位。雙模記憶體介面137以位元(Bit)為資料寫入的最小單位。Since the flash-like memory 173 uses flash memory as the data storage medium, the flash-like interface is similar to the flash interface. Some of the pin definitions of the flash-like interface and the flash interface are the same or similar. capacity, but some pins are defined differently. Therefore, the dual-mode flash interface 139 is based on the flash interface and expanded. Similarly, the memory-like interface is similar to the memory interface. Some pins of the memory-like interface and the memory interface are defined to be the same or compatible, but some pins are defined to be different. Therefore, the dual-mode memory interface 137 It is based on the memory interface and expanded. In other words, the dual-mode flash memory interface 139 and the dual-mode memory interface 137 are integrated interfaces that can access different types of flash memory and random access memory respectively. In addition, the dual-mode flash memory interface 139 preferably uses page as the minimum unit for data writing and block as the minimum unit for data erasure. The dual-mode memory interface 137 uses bit as the minimum unit for data writing.

圖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。FIG. 2 shows an embodiment of the connection between the dual-mode flash memory interface 139 and the flash memory 171 and the flash-like memory 173 . The dual-mode flash memory interface 139 may include four input/output channels (I/O channels, hereinafter referred to as channels CH) CH#0 to CH#3. Each channel can be connected to the same or different types of storage modules, such as one flash memory module and two flash memory modules, and is identified by a logical unit number (Logical Unit Number LUN). For example, channel CH#0 connects the flash memory module 173#0 and the flash memory modules 171#0 and 171#4. In other words, different types of flash memory modules can share a channel. In this connection mode, the storage modules between multi-channel CHs can be accessed in multi-channel mode, which can increase the performance of data access. The processing unit 131 can access the flash memory modules 173#0~3 of channels CH#0~3 in multi-channel mode by enabling the chip enable (CE) signal CE#0 and process Unit 131 can also access the flash memory modules 171#0~3 of channels CH#0~3 in multi-channel mode by enabling the chip enable signal CE#1.

圖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。FIG. 3 shows another embodiment of the connection between the dual-mode flash memory interface 139 and the flash memory 171 and the flash-like memory 173 . Each channel only connects to storage modules of the same type. Each of channels CH#0 and CH#1 only connects to flash memory modules, while each of channels CH#2 and CH#3 only connects to Flash memory module. In this connection mode, the storage modules between multi-channel CHs can be accessed in multi-channel mode, which can increase the performance of data access. The processing unit 131 can access the flash memory modules 173 #0 and #3 of channels CH#0~1 in multi-channel mode by enabling CE#0. The processing unit 131 can also enable CE #0 and accesses the flash memory modules 171 #0 and #3 of channels CH#2~3 in multi-channel mode.

雙模閃存介面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 The dual-mode flash memory interface 139 is configured with 30 pins. Table 1 shows the pin functions (Pin Function) of the dual-mode flash interface 139: Table 1 Pin number 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)。As shown in Table 1, the dual-mode flash memory interface 139 can be configured as a flash memory interface, including: open NAND flash synchronous mode (ONFI Sync), open NAND flash asynchronous mode (ONFI Async) or double data rate switch ( DDR Toggle) interface is used to allow the processing unit 131 and the flash memory module to communicate with each other. In addition, the dual-mode flash memory interface 139 can be configured as a flash-like I/F to allow the processing unit 131 and the flash-like memory module to communicate with each other. The letter "x" represents a floating, reserved or manufacturer-proprietary pin, the letter "#" represents a negative edge driver, and the letter "c" represents 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的是否震盪參數設為是,並將時鐘頻率設為類快閃記憶體模組可接受的頻率。The dual-mode flash memory interface 139 may include a plurality of registers corresponding to the pins of the storage module, so that the processing unit 131 can set parameters output to specific pins of the storage module, such as preset voltage levels, driving methods (positive edge drive Assertion or negative edge driving De-assertion, or No-function), whether it is oscillating (swinging), clock frequency, etc. For example, when the dual-mode flash memory interface 139 is configured as an ONFI Sync, ONFI Async or DDR Toggle interface, the processing unit 131 can configure the corresponding register to set the default voltage level output to pin #8 to a high voltage, driving mode Set it to negative edge drive, and set the parameter of whether to oscillate to No. When the dual-mode flash memory interface 139 is configured as a flash-like interface, the processing unit 131 can configure the corresponding register to set the preset voltage level output to pin #8 to low voltage, set the driving mode to positive edge driving, and Set the parameter of whether to oscillate to No. For another example, when the dual-mode flash memory interface 139 is configured as an ONFI Sync interface, the processing unit 131 can configure the corresponding register to set the oscillation parameter output to pin #13 to yes, and set the clock frequency to the flash memory Frequencies acceptable to the module. When the dual-mode flash memory interface 139 is configured as a flash-like interface, the processing unit 131 can configure the corresponding register to set the oscillation parameter output to pin #13 to yes, and set the clock frequency to a flash-like memory mode. acceptable frequency for the group.

每個儲存模組擁有獨立的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等控制訊號。Each storage module has an independent CE or Chip Select (CS) signal. The processing unit 131 can access data in the storage modules on different channels CH#0 to CH#3 in parallel through the dual-mode flash memory interface 139. Specifically, the processing unit 131 can first send one of the chip enable signals CE#0 to CE#3 to enable the designated storage module in each channel, and then through the input and output channels CH#0 to CH In #3, the shared data line Data[0:7] or the shared data lines Data[0:7] and Data[8:15] are used to access data in the enabled storage module in parallel. For example, the processing unit 131 transmits commands, logical block addresses to be read, user data to be written, etc. to the enabled storage module through the shared data line, or receives user data from the enabled storage module. , reply to messages, etc. In addition, each channel can also pass Address Latch Enable ALE, Command Latch Enable CLE, Read Enable RE, Complementary Read enable (Complement RE, RE_c), write enable (Write Enable WE), read/write (R/W), ready/busy (Ready/Busy, R/B), write protection (Write Protect, WP), command address (Command Address, CA), clock (Clock), complementary clock (Complement Clock, Clock_c), clock enable (Clock Enable, CKE), DQS, ZQ, ODT and other control signals.

另外,可藉由重新定義接腳功能(Pin Function),使雙模閃存介面139的接腳數量縮減。例如,將類快閃介面的ODT功能移至接腳#15,使接腳#15在快閃介面作為WP,在類快閃介面作為ODT,如此一來,雙模閃存介面139的接腳#29即可不用。In addition, the number of pins of the dual-mode flash memory interface 139 can be reduced by redefining the pin function. For example, move the ODT function of the flash-like interface to pin #15, so that pin #15 acts as WP in the flash interface and acts as ODT in the flash-like interface. In this way, pin #139 of the dual-mode flash interface 29 is not needed.

當連接組態設定好之後,記憶體控制器130的製造商可以將連接組態直接寫入ROM中,如此一來,處理單元131可依據ROM的設定來操控雙模閃存介面139的運作。或者,記憶體控制器130在執行初始化的階段,處理單元131依據快閃介面或類快閃介面輪流對儲存模組輸出操作指令,例如,輸出快閃介面的資料讀取指令,如果儲存模組可正確地回傳資料,則處理單元131判斷此儲存模組為快閃記憶體模組,反之,則為類快閃記憶體模組。或者,處理單元131以預設的介面來讀取預設的儲存模組。例如,CE#0所控制,在通道CH#0的儲存模組必為快閃記憶體模組,則連接組態可儲存在此快閃記憶體模組中。記憶體控制器130執行初始化時,處理單元131直接以快閃介面讀取CE#0且CH#0的快閃記憶體模組,以取得連接組態。After the connection configuration is set, the manufacturer of the memory controller 130 can directly write the connection configuration into the ROM. In this way, the processing unit 131 can control the operation of the dual-mode flash memory interface 139 according to the ROM settings. Alternatively, during the initialization stage of the memory controller 130, the processing unit 131 takes turns outputting operation instructions to the storage module according to the flash interface or flash-like interface, for example, outputting a data read instruction of the flash interface. If the storage module If the data can be returned correctly, the processing unit 131 determines that the storage module is a flash memory module; otherwise, the storage module is a flash memory module. Alternatively, the processing unit 131 uses a default interface to read the default storage module. For example, the storage module in channel CH#0 controlled by CE#0 must be a flash memory module, and the connection configuration can be stored in this flash memory module. When the memory controller 130 performs initialization, the processing unit 131 directly reads the flash memory modules of CE#0 and CH#0 through the flash interface to obtain the connection configuration.

基於如圖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的工作模式。Based on the connections shown in FIG. 2 , the processing unit 131 can drive different types of flash memory modules using different communication protocols (Protocol), or drive different types of flash memory modules in different working modes. Before enabling another flash memory module, the processing unit 131 may reconfigure (Reconfigure) the dual-mode flash memory interface 139 . For example, the dual-mode flash memory interface 139 can first be configured by the processing unit 131 to access the working mode of the flash memory module 173 when it is powered on. After the configuration is successful, the processing unit 131 drives the dual-mode flash memory interface 139 to send the enable signal CE#0 to enable the flash memory modules 173#0 to 173#3, and then accesses the programs required for booting. Instructions, comparison tables, information, etc. After successful booting, the processing unit 131 can reconfigure the dual-mode flash memory interface 139 to the working mode of accessing the flash memory module 171 . After the configuration is successful, the processing unit 131 drives the dual-mode flash memory interface 139 to send the enable signal CE#1 or CE#2 to enable the flash memory modules 171#0 to 171#3 or the flash memory module 171#. 4 to 171#7, and then access user data and perform various background operations to enhance the storage capacity of the flash memory 171, such as garbage collection (Garbage Collection, GC), wear leveling (Wear Leveling, WL) operations, etc. During accessing user data, if it is necessary to access program instructions, lookup tables or data in the flash memory module 173, the processing unit 131 issues an enable signal CE#0 to enable the flash memory module. Before assembly 173 , the dual-mode flash memory interface 139 can be reconfigured to the working mode of the access-type flash memory module 173 .

於一些實施例中,當處理單元131為具平行處理能力的多處理器時,每一個處理器核心可控制特定的通道來存取部分儲存模組中的資料。例如,一個處理器核心負責控制通道CH#0及CH#1,而另一個處理器核心負責控制通道CH#2及CH#3。於另一些實施例中,當處理單元131及儲存模組間的連接組態為如圖3所示時,一或數個處理器核心可專門用來存取快閃記憶體模組中的資料,而其他的處理器核心則可專門用來存取類快閃記憶體模組中的資料。因此,圖3所示的連接組態可使得處理單元131不需要花時間重新組態雙模閃存介面139。不過,相較於圖2所示的連接,雙模閃存介面139的並行處理頻寬會減少。In some embodiments, when the processing unit 131 is a multi-processor with parallel processing capabilities, each processor core can control a specific channel to access data in part of the storage module. For example, one processor core is responsible for controlling channels CH#0 and CH#1, while another processor core is responsible for controlling channels CH#2 and CH#3. In other embodiments, when the connection configuration between the processing unit 131 and the storage module is as shown in Figure 3, one or several processor cores may be dedicated to accessing data in the flash memory module. , while other processor cores can be dedicated to accessing data in flash-like memory modules. Therefore, the connection configuration shown in FIG. 3 can eliminate the need for the processing unit 131 to spend time reconfiguring the dual-mode flash memory interface 139 . However, compared to the connection shown in Figure 2, the parallel processing bandwidth of the dual-mode flash memory interface 139 will be reduced.

圖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。FIG. 4 shows an embodiment of the connection between the dual-mode memory interface 137 and the dynamic random access memory 151 and the quasi-dynamic random access memory 153 . The dual-mode memory interface 137 may include channels CH#0 to CH#3. Each channel CH can be connected to the same or different types of memory modules, for example: one type of dynamic random access memory module and two dynamic random access memory modules. For example, channel CH#0 connects the dynamic random access memory module 153#0 and two dynamic random access memory modules 151#0 and 151#4. In other words, different types of memory modules can share a channel. In this connection mode, the memory modules between multi-channel CHs can be accessed in multi-channel mode, which can increase the performance of data access. The processing unit 131 can access the dynamic random access memory modules 153#0~3 of channels CH#0~3 through CS#0 in multi-channel mode. The processing unit 131 can also enable CS# 1 and access the dynamic random access memory 151#0~3 of channels CH#0~3 in multi-channel mode.

圖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。FIG. 5 shows another embodiment of the connection between the dual-mode memory interface 137 and the dynamic random access memory 151 and the quasi-dynamic random access memory 153 . Each channel is only connected to the same type of memory module, each of channels CH#0 and CH#1 is only connected to DRAM-like modules, and each of channels CH#2 and CH#3 is only connected to DRAM modules. group. In this connection mode, the storage modules between multi-channel CHs can be accessed in multi-channel mode, which can increase the performance of data access. The processing unit 131 can access the DRAM-like modules 153 #0 and #3 of channels CH#0~1 in multi-channel mode by enabling CS#0. The processing unit 131 can also enable CS#0 and access the DRAM-like modules 153#0 and #3 of channels CH#0~1. The DRAM modules 153#0 and #3 of channels CH#2~3 are accessed in multi-channel mode.

雙模記憶體介面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 The dual-mode memory interface 137 is configured with 51 pins. Table 2 shows the pin functions (Pin Function) of the dual-mode memory interface 137: Table 2 Pin number 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 twenty one 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模組可接受的頻率。As shown in Table 2, the dual-mode memory interface 137 can be configured as a DDR4 interface to allow the processing unit 131 and the DDR4 DRAM module 151 to communicate with each other. In addition, the dual-mode memory interface 137 can also be configured as a DRAM-like interface to allow the processing unit 131 and the DRAM-like module 153 to communicate with each other. The dual-mode memory interface 137 may include a plurality of registers corresponding to the memory module pins, so that the processing unit 131 can set parameters output to specific pins of the memory module, such as preset voltage levels, driving methods ( Driven by positive or negative edges, or not working), whether it oscillates, etc. For example, when the dual-mode memory interface 137 is configured as a DDR4 interface, the processing unit 131 can configure the corresponding register to set the preset voltage level output to pin #15 to high or low voltage, and set the driving mode to inactive. , and set the parameter of whether to oscillate to No. When the dual-mode memory interface 137 is configured as a DRAM-like interface, the processing unit 131 can configure the corresponding register to set the preset voltage level output to pin #15 to low voltage and the driving mode to positive edge driving. And set the parameter of whether to oscillate to No. For another example, when the dual-mode memory interface 137 is configured as a DDR4 interface, the processing unit 131 can configure the corresponding register to set the oscillation parameter output to pin #11 to yes, and set the clock frequency to a value that the DRAM module can Accepted frequency. When the dual-mode memory interface 137 is configured as a DRAM-like I/F, the processing unit 131 can configure the corresponding register to set the oscillation parameter output to pin #11 to yes, and set the clock frequency to the DRAM-like I/F. acceptable frequency for the group.

每個記憶體模組可輸入獨立的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)等控制訊號。Each memory module can input an independent CS signal. The processing unit 131 can access data in the memory modules on different channels CH#0 to CH#3 in parallel through the dual-mode memory interface 137. Specifically, the processing unit 131 can first send one of the chip selection signals CS#0~#3 to enable the designated memory module in each channel, and then pass the chip selection signal CS#0 to CH#3. Data line Data[0:7], parallel access to data in the enabled memory module. In addition, each channel can also transmit command address (CA), reset (Reset), wake-up (Wake), warning (Alert), input selection (Select_In), and output selection between enabled memory modules. (Select_Out), Chip ID, Activation Command Input ACT, Input Data Mask DM, Data Bus Inversion DBI, Bank Group BG), Bank Address (Bank Address), Address Input (Address Input), Command and Address Parity Input (PAR), Test Mode Enable and other control signals.

基於如圖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的工作模式。Based on the connections shown in FIG. 4 , the processing unit 131 can use different communication protocols to drive different types of memory modules, or drive different types of memory modules in different working modes. The processing unit 131 may reconfigure the dual-mode memory interface 137 before enabling another memory module. For example, the dual-mode memory interface 137 can be configured by the processing unit 131 to access the working mode of the DRAM-like module 153 when it is powered on. After the configuration is successful, the processing unit 131 drives the dual-mode memory interface 137 to send the enable signal CS0 to enable the DRAM-like modules 153#0 to 153#3, and then accesses the program instructions and comparison tables required for booting. , information, etc. After successful booting, the processing unit 131 can reconfigure the dual-mode memory interface 137 to the working mode of accessing the DRAM module 151 . After the configuration is successful, the processing unit 131 drives the dual-mode memory interface 137 to send the enable signal CS1 or CS2 to enable the DRAM modules 151#0 to 151#3 or the DRAM modules 151#4 to 151#7. Then, temporarily Stores the user data that the host device 110 is about to write into the flash memory 171, the user data that is read from the flash memory 171 and is about to be typed out to the host device 110, or the partial logical-entity mapping table required for search. wait. During accessing user data, if it is necessary to access program instructions, lookup tables or data in the DRAM-like module 153, the processing unit 131 can reconfigure the dual-mode DRAM-like module 153 before sending the enable signal CS0 to enable the DRAM-like module 153. The module memory interface 137 is a working mode for accessing the DRAM-like module 153 .

於一些實施例中,當處理單元131為具平行處理能力的多處理器時,每一個處理器核心可控制特定的通道來存取部分記憶體模組中的資料。例如,一個處理器核心控制通道CH#0及CH#1,而另一個處理器核心控制通道CH#2及CH#3。此外,於一些實施例中,當處理單元131及記憶體模組間的連接組態為如圖5所示時,一或數個處理器核心可專門用來存取DRAM模組中的資料,而其他的處理器核心則可專門用來存取類DRAM模組中的資料。因此,圖5所示的連接組態可使得處理單元131不需要花時間重新組態雙模記憶體介面137。不過,相較於圖4所示的連接,雙模記憶體介面137的並行處理頻寬會減少。In some embodiments, when the processing unit 131 is a multi-processor with parallel processing capabilities, each processor core can control a specific channel to access data in some memory modules. For example, one processor core controls channels CH#0 and CH#1, while another processor core controls channels CH#2 and CH#3. In addition, in some embodiments, when the connection configuration between the processing unit 131 and the memory module is as shown in Figure 5, one or several processor cores can be dedicated to accessing data in the DRAM module. Other processor cores can be dedicated to accessing data in DRAM-like modules. Therefore, the connection configuration shown in FIG. 5 can eliminate the need for the processing unit 131 to spend time reconfiguring the dual-mode memory interface 137 . However, compared to the connection shown in FIG. 4 , the parallel processing bandwidth of the dual-mode memory interface 137 will be reduced.

系統開機所需的資訊與程式指令,例如,資訊塊(information block)、完整的邏輯-實體映射表及系統內程式碼(In-System Programming,ISP),通常儲存於非揮發性的儲存單元。於一些實施方式中,這些必要的資訊與程序儲存於快閃記憶體171。然而,為了縮短系統開機的時間,這些必要的資訊與程式指令可被儲存於本發明實施例的系統架構100中的混合型記憶體。資訊塊可紀錄用於組態快閃記憶體171的參數,例如,快閃記憶體171中的壞塊及壞列(Bad Column)位置、超塊架構(Superblock Architecture)等,以及組態動態隨機存取記憶體151的參數。Information and program instructions required for system startup, such as information blocks, complete logical-entity mapping tables, and in-system programming (ISP), are usually stored in non-volatile storage units. In some implementations, these necessary information and programs are stored in flash memory 171 . However, in order to shorten the system boot time, these necessary information and program instructions can be stored in the hybrid memory in the system architecture 100 of the embodiment of the present invention. The information block can record parameters used to configure the flash memory 171, such as bad block and bad column (Bad Column) locations in the flash memory 171, superblock architecture (Superblock Architecture), etc., and configure dynamic randomization. Access parameters of memory 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)。Referring to FIG. 1 , in some embodiments, the data storage device may be configured with dynamic random access memory 151 , hybrid memory 153 or 173 , and flash memory 171 . The complete L2P mapping table is preferably stored in the hybrid memory 153 or 173 to speed up the access of the L2P mapping table. The hybrid memory 153 or 173 can also be used as a fast flush storage space (Flush Storage Space). When a power outage occurs, the data in the dynamic random access memory 151 can be quickly flushed to the hybrid memory 153 or 173. . The dynamic random access memory 151 can be used to temporarily store hot data (Hot Data) and user data (User Data) from the main device 110; the flash memory 171 can be used as the main storage space (Main Storage Space) for backup. System code, cold data and/or Seldom Used Data.

於一些實施例中,資料儲存裝置可配置混合型記憶體153及快閃記憶體171。完整的L2P映射表較佳儲存於混合型記憶體153以加速L2P映射表的存取。由於混合型記憶體153具備長時間的資料儲存能力,因此,資料儲存裝置可以不考慮掉電事件的處理。混合型記憶體153更可以用以儲存少量的熱資料(Hot Data)或是自主裝置110的使用者資料;快閃記憶體171則作為主要儲存空間,用來備份系統內程式碼、冷資料以及/或少使用資料。In some embodiments, the data storage device may be configured with hybrid memory 153 and flash memory 171 . The complete L2P mapping table is preferably stored in the hybrid memory 153 to speed up access to the L2P mapping table. Since the hybrid memory 153 has a long-term data storage capability, the data storage device does not need to consider the processing of power outage events. The hybrid memory 153 can be used to store a small amount of hot data or user data of the autonomous device 110; the flash memory 171 is used as the main storage space to back up system code, cold data and /or use less data.

參考圖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。Referring to Figure 6, after receiving the system boot signal (step S610), the processing unit 131 can read and execute the boot code (Boot Code) from the read only memory (Read Only Memory, ROM) for entering the ROM mode (step S610). S631). In the ROM mode, the hybrid memory 153 or 173 is initialized (step S633). In step S633, the processing unit 131 may first detect the types of all storage units connected through the integrated interface, such as storage modules 171#0 to 171#7 and 173#0 to 173#5 and memory module 151#0. to 151#7 and 153#0 to 153#5 types, used to find hybrid memory 153 or 173. In some embodiments, the processing unit 131 can determine the memory by detecting the voltage level on a specific pin of the specific enabled memory or storage module through the hardware of the dual-mode memory interface 137 or the dual-mode flash memory interface 139 Whether the memory or storage module is a hybrid memory. For example, the processing unit 131 may detect the voltage level on pin #14 of the enabled storage module through the hardware of the dual-mode flash memory interface 139 . If the voltage level is low, it is determined that the enabled storage module is a flash memory module; otherwise, it is determined that the enabled storage module is a flash memory module. In other embodiments, the processing unit 131 may execute firmware instructions for sending hybrid memory-recognizable commands to the enabled specific memory or storage module through the dual-mode memory interface 137 or the dual-mode flash memory interface 139. And based on whether the correct reply is received, it is determined whether the memory or storage module is a hybrid memory. Next, the processing unit 131 reads the ISP code, configuration parameters and L2P mapping table from the hybrid memory 153 or 173 (steps S651, S653 and S655), and initializes the flash memory 171 and dynamic random access according to the configuration parameters. Memory 151 (steps S671 and S673). The processing unit 131 then executes the ISP code, enters the normal working mode (Normal Mode), and waits for a command issued by the main device 110 (step S690). In some embodiments of the normal working mode, in order to speed up the search and update of the L2P mapping table, part of the L2P mapping table that is being used or is about to be used can be temporarily stored in the dynamic random access memory 151, and updated back at an appropriate point in time. Hybrid memory 153 or 173. In addition, part of the Physical-Logical Mapping Table (P2L Table) required for searching or updating can be temporarily stored in the dynamic random access memory 151 or the static random access memory 133 . The dynamic random access memory 151 can first temporarily store the user data to be written by the host device 110. After that, the processing unit 131 can write the temporarily stored data into the hybrid memory 153 or 173 or fast according to the characteristics of the user data. Flash memory171.

參考圖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。Referring to FIG. 1 , in other embodiments, the data storage device may be configured with hybrid memory 153 or 173 and flash memory 171 , but without dynamic random access memory 151 . The complete L2P mapping table is permanently stored in the hybrid memory 153 or 173. The hybrid memory 153 or 173 can provide fast flash storage space, while the flash memory 171 can provide the main storage space. Referring to FIG. 7 , since the data storage device is not configured with the dynamic random access memory 151 , the processing unit 131 cannot execute step S673 in FIG. 6 to initialize the dynamic random access memory 151 according to the configuration parameters. Instead, the processing unit 131 may request the host device 110 to configure a portion of the dynamic random access memory space from the host side as a host memory buffer (Host Memory Buffer, HMB) (step S773). In some embodiments of the normal working mode, in order to speed up the search and update of the L2P mapping table, part of the L2P mapping table being used or about to be used can be temporarily stored in the host memory buffer, and updated back to the hybrid memory at an appropriate point in time. 153 or 173. In addition, part of the physical-logical table required during search or update can be temporarily stored in the host memory buffer or static random access memory 133 . The host memory buffer can first temporarily store the user data to be written by the host device 110, and then the processing unit 131 can write the temporarily stored data into the hybrid memory 153 or 173 or the flash memory 171 according to the characteristics of the user data. .

圖6的步驟S610至S673及圖7的步驟S610至S671及S773可稱為系統開機階段(System Booting Stage)執行的步驟。Steps S610 to S673 in FIG. 6 and steps S610 to S671 and S773 in FIG. 7 can be called steps performed in the system booting stage (System Booting Stage).

於正常工作模式的一些實施例中,靜態隨機存取記憶體133可用來暫存即將寫入快閃記憶體171或混合型記憶體153或173的資料,或者從快閃記憶體171或混合型記憶體153或173讀取的資料,並且使用直接記憶體存取(Direct Access Memory,DMA)技術在這兩種元件間搬移資料。In some embodiments of the normal operating mode, the static random access memory 133 can be used to temporarily store data to be written to the flash memory 171 or the hybrid memory 153 or 173, or from the flash memory 171 or the hybrid memory 153 or 173. Data is read from memory 153 or 173, and direct access memory (DMA) technology is used to move data between the two components.

於正常工作模式的一些實施例中,處理單元131可執行相同的損耗平均演算法管理快閃記憶體171及類快閃記憶體173。靜態隨機存取記憶體133可儲存快閃記憶體模組171及類快閃記憶體173中每個實體塊(Physical Block)的寫入/抹除計數值(Program/Erase Count,P/E Count)。但是,針對快閃記憶體171及類快閃記憶體173中的實體塊的損耗平均操作的啟動閥值(Threshold)可以相同也可以不同。In some embodiments of the normal operating mode, the processing unit 131 may execute the same wear leveling algorithm to manage the flash memory 171 and the flash-like memory 173 . The static random access memory 133 can store the write/erase count (Program/Erase Count, P/E Count) of each physical block (Physical Block) in the flash memory module 171 and the flash-like memory 173 ). However, the startup threshold (Threshold) for the wear leveling operation of the physical blocks in the flash memory 171 and the flash-like memory 173 may be the same or different.

於正常工作模式的一些實施例中,處理單元131可為快閃記憶體171及類快閃記憶體173執行垃圾收集(Garbage Collection GC)操作。處理單元131可將混合型記憶體153或173中的一部份空間配置為預留空間(over provision),作為資料搬移或其他操作的緩衝區。In some embodiments of the normal working mode, the processing unit 131 may perform a garbage collection (Garbage Collection GC) operation for the flash memory 171 and the flash-like memory 173 . The processing unit 131 may configure a part of the space in the hybrid memory 153 or 173 as an over provision space to serve as a buffer for data movement or other operations.

於正常工作模式的一些實施例中,為了突然斷電回復(Sudden Power Off Recovery,SPOR),處理單元131可週期性地或特定條件滿足時,將動態隨機存取記憶體151或主機內存緩衝的資料寫入非揮發性的混合型記憶體153或173或快閃記憶體171。暫存的L2P映射表及使用者資料可較佳地寫入混合型記憶體153或173,使得突然斷電後的回復操作可更有效率。In some embodiments of the normal working mode, for sudden power off recovery (SPOR), the processing unit 131 can periodically or when specific conditions are met, buffer the dynamic random access memory 151 or the host memory. Data is written to the non-volatile hybrid memory 153 or 173 or the flash memory 171 . The temporarily stored L2P mapping table and user data can be better written into the hybrid memory 153 or 173, so that the recovery operation after a sudden power outage can be more efficient.

於一些實施例中,當混合型記憶體153或173的空間足夠時,處理單元131可不使用快閃記憶體171。等到混合型記憶體153或173的空間不足時,再初始化快閃記憶體171並使用快閃記憶體171中的空間。In some embodiments, when the space of the hybrid memory 153 or 173 is sufficient, the processing unit 131 may not use the flash memory 171 . When the space of the hybrid memory 153 or 173 is insufficient, the flash memory 171 is initialized and the space in the flash memory 171 is used.

本發明所述的方法中的全部或部分步驟可以電腦程式實現,例如電腦的作業系統、電腦中特定硬體的驅動程式、或軟體應用程式。此外,也可實現於如上所示的其他類型程式。所屬技術領域具有通常知識者可將本發明實施例的方法撰寫成電腦程式,為求簡潔不再加以描述。依據本發明實施例方法實施的電腦程式可儲存於適當的電腦可讀取資料載具,例如DVD、CD-ROM、USB碟、硬碟,亦可置於可通過網路(例如,網際網路,或其他適當載具)存取的網路伺服器。All or part of the steps in the method of the present invention can be implemented by a computer program, such as a computer operating system, a driver for specific hardware in the computer, or a software application. In addition, it can also be implemented in other types of programs as shown above. Those with ordinary skill in the art can write the methods of the embodiments of the present invention into computer programs, which will not be described again for the sake of simplicity. The computer program implemented according to the method of the embodiment of the present invention can be stored in an appropriate computer-readable data carrier, such as DVD, CD-ROM, USB disk, hard disk, or can be placed in a computer program that can be accessed through a network (such as the Internet). , or other appropriate vehicle).

雖然圖1至圖5中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然圖6及圖7的流程圖採用指定的順序來執行,但是在不違反發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。Although the above-described elements are included in FIGS. 1 to 5 , it does not rule out that more other additional elements may be used to achieve better technical effects without violating the spirit of the invention. In addition, although the flow charts of Figures 6 and 7 are executed in a specified order, those skilled in the art can modify the order of these steps to achieve the same effect without violating the spirit of the invention. Therefore, The present invention is not limited to the use of only the sequence described above. In addition, those skilled in the art can also integrate several steps into one step, or in addition to these steps, perform more steps sequentially or in parallel, and the invention is not limited thereby.

雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。Although the present invention is described using the above embodiments, it should be noted that these descriptions are not intended to limit the present invention. On the contrary, this invention covers modifications and similar arrangements which will be obvious to one skilled in the art. Therefore, the scope of the claims of the application must be interpreted in the broadest manner to include all obvious modifications and similar arrangements.

100:系統架構100:System architecture

110:主裝置110: Main device

130:控制器130:Controller

131:處理單元131: Processing unit

132:唯讀記憶體132: Read-only memory

133:靜態隨機存取記憶體133: Static random access memory

135:主裝置介面135: Main device interface

137:雙模記憶體介面137:Dual-mode memory interface

139:雙模閃存介面139:Dual-mode flash memory interface

151:動態隨機存取記憶體151:Dynamic Random Access Memory

171#0~171#7:DRAM模組171#0~171#7:DRAM module

153:類動態隨機存取記憶體153: Class dynamic random access memory

153#0~153#5:類DRAM模組153#0~153#5: DRAM-like module

171:快閃記憶體171:Flash memory

171#0~171#7:快閃記憶體模組171#0~171#7: Flash memory module

173:類快閃記憶體173: Flash-like memory

173#0~173#5:類快閃記憶體模組173#0~173#5: Flash memory module

CH#0~CH#3:通道CH#0~CH#3: Channel

CE#0~CE#2:晶片致能訊號CE#0~CE#2: Chip enable signal

CS0~CS2:晶片選擇訊號CS0~CS2: chip selection signal

S610~S690、S773:方法步驟S610~S690, S773: Method steps

圖1為依據本發明實施例的快閃儲存裝置的系統架構示意圖。FIG. 1 is a schematic system architecture diagram of a flash storage device according to an embodiment of the present invention.

圖2及圖3為依據本發明實施例的閃存介面與不同種類快閃記憶體之間的連接示意圖。2 and 3 are schematic diagrams of connections between flash memory interfaces and different types of flash memories according to embodiments of the present invention.

圖4及圖5為依據本發明實施例的記憶體介面與不同種類動態隨機存取記憶體之間的連接示意圖。4 and 5 are schematic diagrams of connections between memory interfaces and different types of dynamic random access memories according to embodiments of the present invention.

圖6為依據本發明實施例資料儲存裝置搭載動態隨機存取記憶體的系統開機流程圖。FIG. 6 is a system boot flow chart of a data storage device equipped with a dynamic random access memory according to an embodiment of the present invention.

圖7為依據本發明實施例資料儲存裝置不搭載動態隨機存取記憶體的系統開機流程圖。FIG. 7 is a system boot flow chart of a data storage device without dynamic random access memory according to an embodiment of the present invention.

100:系統架構 100:System architecture

110:主裝置 110: Main device

130:控制器 130:Controller

131:處理單元 131: Processing unit

132:唯讀記憶體 132: Read-only memory

133:靜態隨機存取記憶體 133: Static random access memory

135:主裝置介面 135: Main device interface

137:記憶體介面 137:Memory interface

139:閃存介面 139:Flash memory interface

151:動態隨機存取記憶體 151:Dynamic Random Access Memory

153:類動態隨機存取記憶體 153: Class dynamic random access memory

171:快閃記憶體 171:Flash memory

173:類快閃記憶體 173: Flash-like memory

Claims (14)

一種用於控制不同類型儲存單元的裝置,包含: 一介面,包含多個通道,其中該每個通道連接一第一類型及一第二類型的儲存單元;以及 一處理單元,耦接該介面,用於組態該介面為一第一工作模式,其中該第一工作模式相應於該第一類型的儲存單元;驅動該介面發出一第一訊號致能連接該多個通道的該第一類型的儲存單元;驅動該介面存取該第一類型的儲存單元的資料;以及於存取該第二類型的儲存單元的資料前,重新組態該介面為一第二工作模式,其中該第二工作模式相應於該第二類型的儲存單元。A device for controlling different types of storage units, including: An interface includes a plurality of channels, wherein each channel is connected to a first type and a second type of storage unit; and A processing unit coupled to the interface for configuring the interface into a first working mode, wherein the first working mode corresponds to the first type of storage unit; driving the interface to send a first signal to enable connection to the multiple channels of the first type of storage unit; driving the interface to access data of the first type of storage unit; and before accessing data of the second type of storage unit, reconfiguring the interface as a first type Two operating modes, wherein the second operating mode corresponds to the second type of storage unit. 如請求項1所述的裝置,其中該第一類型的儲存單元為非揮發的一類快閃記憶體模組,該第二類型的儲存單元為一快閃記憶體模組,該處理單元於開機時組態該介面為該第一工作模式,並且驅動該介面存取該類快閃記憶體模組中用來組態該快閃記憶體模組的參數,該處理單元於開機成功後組態該介面為該第二工作模式。The device of claim 1, wherein the first type of storage unit is a non-volatile flash memory module, the second type of storage unit is a flash memory module, and the processing unit is powered on When configuring the interface as the first working mode, and driving the interface to access the parameters of the flash memory module used to configure the flash memory module, the processing unit is configured after the boot is successful. This interface is the second working mode. 如請求項1所述的裝置,其中該第一類型的儲存單元為非揮發的一類動態隨機存取記憶體模組,該第二類型的儲存單元為一動態隨機存取記憶體模組,該處理單元於開機時組態該介面為該第一工作模式,並且驅動該介面存取該類動態隨機存取記憶體模組中用來組態該動態隨機存取記憶體模組的參數,該處理單元於開機成功後組態該介面為該第二工作模式。The device of claim 1, wherein the first type of storage unit is a non-volatile type of dynamic random access memory module, the second type of storage unit is a dynamic random access memory module, and the The processing unit configures the interface in the first working mode when booting, and drives the interface to access parameters used to configure the dynamic random access memory module in the dynamic random access memory module. After successful startup, the processing unit configures the interface as the second working mode. 一種電腦程式產品,包含一程式碼,當該程式碼被一處理單元執行時用於控制不同類型儲存單元,該程式碼用於: 組態一介面為一第一工作模式,其中該介面包含多個通道,該每個通道連接一第一類型及一第二類型的儲存單元,該第一工作模式相應於該第一類型的儲存單元; 驅動該介面發出一第一訊號致能連接該多個通道的該第一類型的儲存單元; 驅動該介面存取該第一類型的儲存單元的資料;以及 於存取該第二類型的儲存單元的資料前,重新組態該介面為一第二工作模式,該第二工作模式相應於該第二類型的儲存單元。A computer program product that includes a program code that, when executed by a processing unit, is used to control different types of storage units. The program code is used to: Configuring an interface as a first working mode, wherein the interface includes a plurality of channels, each channel is connected to a first type and a second type of storage unit, the first working mode corresponds to the first type of storage unit; driving the interface to send a first signal to enable the first type of storage unit connected to the plurality of channels; driving the interface to access data of the first type of storage unit; and Before accessing data of the second type of storage unit, the interface is reconfigured into a second working mode, and the second working mode corresponds to the second type of storage unit. 如請求項4所述的電腦程式產品,其中該第一類型的儲存單元為非揮發的一類快閃記憶體模組,該第二類型的儲存單元為一快閃記憶體模組,該程式碼用於: 於開機時組態該介面為該第一工作模式,並且驅動該介面存取該類快閃記憶體模組中用來組態該快閃記憶體模組的參數;以及 於開機成功後組態該介面為該第二工作模式。The computer program product of claim 4, wherein the first type of storage unit is a non-volatile flash memory module, the second type of storage unit is a flash memory module, and the program code Used for: Configuring the interface as the first working mode when booting, and driving the interface to access parameters used to configure the flash memory module in the flash memory module; and After successful startup, the interface is configured as the second working mode. 如請求項4所述的電腦程式產品,其中該第一類型的儲存單元為非揮發的一類動態隨機存取記憶體模組,該第二類型的儲存單元為一動態隨機存取記憶體模組,該程式碼用於: 於開機時組態該介面為該第一工作模式,並且驅動該介面存取該類動態隨機存取記憶體模組中用來組態該動態隨機存取記憶體模組的參數;以及 於開機成功後組態該介面為該第二工作模式。The computer program product of claim 4, wherein the first type of storage unit is a non-volatile type of dynamic random access memory module, and the second type of storage unit is a dynamic random access memory module. , this code is used to: Configure the interface as the first working mode when booting, and drive the interface to access parameters used to configure the dynamic random access memory module in the dynamic random access memory module; and After successful startup, the interface is configured as the second working mode. 一種用於控制不同類型儲存單元的裝置,包含: 一介面,連接多個儲存單元,其中,該多個儲存單元包含非揮發的一混合型記憶體和一快閃記憶體;以及 一處理單元,耦接該介面,用於在一系統開機階段,初始化該混合型記憶體;從該混合型記憶體讀取組態該快閃記憶體的一第一參數,以及一系統內程式碼;根據該第一參數初始化該快閃記憶體;以及執行該系統內程式碼,用於進入一正常工作模式並等待一主裝置發出的命令。A device for controlling different types of storage units, including: An interface connects a plurality of storage units, wherein the plurality of storage units include a non-volatile hybrid memory and a flash memory; and A processing unit coupled to the interface for initializing the hybrid memory during a system boot phase; reading a first parameter that configures the flash memory from the hybrid memory, and an in-system program code; initialize the flash memory according to the first parameter; and execute the system program code for entering a normal operating mode and waiting for a command issued by a host device. 如請求項7所述的裝置,其中該處理單元於初始化該混合型記憶體前,偵測所有通過該介面連接的該多個儲存單元的類型,用於找出該混合型記憶體。The device of claim 7, wherein the processing unit detects the types of all the storage units connected through the interface to find the hybrid memory before initializing the hybrid memory. 如請求項8所述的裝置,其中該處理單元通過該介面的硬體偵測致能的特定儲存單元的一特定腳位上的電壓準位來判斷該特定儲存單元是否屬於該混合型記憶體。The device of claim 8, wherein the processing unit detects the voltage level on a specific pin of the enabled specific storage unit through the hardware of the interface to determine whether the specific storage unit belongs to the hybrid memory. . 如請求項8所述的裝置,其中該處理單元通過該介面發送該混合型記憶體可辨認的命令給致能的特定儲存單元,並且根據是否收到正確的回覆來判斷該特定儲存單元是否屬於混合型記憶體。The device of claim 8, wherein the processing unit sends a command identifiable by the hybrid memory to an enabled specific storage unit through the interface, and determines whether the specific storage unit belongs to Hybrid memory. 一種電腦程式產品,包含一程式碼,當該程式碼被一處理單元執行時用於控制不同類型儲存單元,該程式碼用於: 於一系統開機階段,初始化非揮發的一混合型記憶體; 從該混合型記憶體讀取組態一快閃記憶體的一第一參數,以及一系統內程式碼; 根據該第一參數初始化該快閃記憶體;以及 執行該系統內程式碼,用於進入一正常工作模式並等待一主裝置發出的命令。A computer program product that includes a program code that, when executed by a processing unit, is used to control different types of storage units. The program code is used to: During a system startup phase, initialize a non-volatile hybrid memory; Reading a first parameter that configures a flash memory and an in-system program code from the hybrid memory; Initialize the flash memory according to the first parameter; and Execute the program code in the system to enter a normal working mode and wait for a command issued by a master device. 如請求項11所述的電腦程式產品,該程式碼用於: 於初始化該混合型記憶體前,偵測所有通過一介面連接的儲存單元的類型,用於找出該混合型記憶體。A computer program product as described in request 11, the code being used to: Before initializing the hybrid memory, detect the types of all storage units connected through an interface to find the hybrid memory. 如請求項12所述的電腦程式產品,該程式碼用於: 從該混合型記憶體讀取組態一動態隨機存取記憶體的一第二參數;以及 根據該第二參數組態該動態隨機存取記憶體。A computer program product as described in request 12, the program code being used to: Reading a second parameter that configures a dynamic random access memory from the hybrid memory; and The dynamic random access memory is configured according to the second parameter. 如請求項12所述的電腦程式產品,該程式碼用於: 請求該主裝置從主機端配置部分的動態隨機存取記憶體空間,作為主機內存緩衝。A computer program product as described in request 12, the program code being used to: Requests the host device to configure a portion of the dynamic random access memory space from the host side as a host memory buffer.
TW110102306A 2019-01-03 2019-06-05 Apparatus and computer program product for controlling different types of storage units TWI828963B (en)

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

Family

ID=71428322

Family Applications (3)

Application Number Title Priority Date Filing Date
TW108109906A TWI739075B (en) 2019-01-03 2019-03-22 Method and computer program product for performing data writes into a flash memory
TW110102306A TWI828963B (en) 2019-01-03 2019-06-05 Apparatus and computer program product for controlling different types of storage units
TW108119438A TWI719494B (en) 2019-01-03 2019-06-05 Method and apparatus for controlling different types of storage units

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW108109906A TWI739075B (en) 2019-01-03 2019-03-22 Method and computer program product for performing data writes into a flash memory

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW108119438A TWI719494B (en) 2019-01-03 2019-06-05 Method and apparatus for controlling different types of storage units

Country Status (2)

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

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949580B (en) * 2020-08-12 2021-11-12 深圳安捷丽新技术有限公司 Multi-frequency memory interface and configuration method thereof
TWI754396B (en) * 2020-09-29 2022-02-01 慧榮科技股份有限公司 Method and apparatus and computer program product for storing data in flash memory
CN114327240B (en) 2020-09-29 2024-12-06 慧荣科技股份有限公司 Computer readable storage medium, data storage method and device for flash memory
CN112379830B (en) * 2020-11-03 2022-07-26 成都佰维存储科技有限公司 Method and device for creating effective data bitmap, storage medium and electronic equipment
CN114490106A (en) * 2020-11-13 2022-05-13 瑞昱半导体股份有限公司 Information exchange system and method
CN115617706B (en) * 2021-07-13 2025-01-14 美光科技公司 Optimizing garbage collection using logical to physical table searches

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661473A (en) * 2007-11-06 2010-03-03 三星电子株式会社 Solid state memory (ssm), computer system, and method of operating an ssm
TWI442222B (en) * 2010-07-21 2014-06-21 Silicon Motion Inc Flash memory device and method for managing a flash memory device
CN106484628A (en) * 2015-08-27 2017-03-08 三星电子株式会社 Mixing memory module based on affairs
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)

* 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
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 (en) * 2008-06-02 2011-12-07 联阳半导体股份有限公司 integrated storage device and control method thereof
CN102375779B (en) * 2010-08-16 2015-08-19 深圳市朗科科技股份有限公司 A kind of data processing method and data processing module
US9146690B2 (en) * 2012-01-27 2015-09-29 Marvell World Trade Ltd. Systems and methods for dynamic priority control
CN102799534B (en) * 2012-07-18 2015-11-25 上海宝存信息科技有限公司 Based on storage system and method, the cold and hot data identification method of solid storage medium
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
US9542278B2 (en) * 2013-12-26 2017-01-10 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 (en) * 2014-12-01 2017-06-06 中国人民大学 A kind of OLAP query optimization method under internal memory flash memory mixing memory module
CN106326136A (en) * 2015-07-02 2017-01-11 广明光电股份有限公司 Method for collecting garbage blocks by solid state disk
US10409719B2 (en) * 2016-03-17 2019-09-10 Samsung Electronics Co., Ltd. User configurable passive background operation
TWI595412B (en) * 2016-09-09 2017-08-11 大心電子(英屬維京群島)股份有限公司 Data transmitting method, memory storage device and memory control circuit unit
US10359953B2 (en) * 2016-12-16 2019-07-23 Western Digital Technologies, Inc. Method and apparatus for offloading data processing to hybrid storage devices
CN108959108B (en) * 2017-05-26 2021-08-24 上海宝存信息科技有限公司 Solid state disk access method and device using same
CN107844431B (en) * 2017-11-03 2022-01-25 合肥兆芯电子有限公司 Mapping table updating method, memory control circuit unit and memory storage device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661473A (en) * 2007-11-06 2010-03-03 三星电子株式会社 Solid state memory (ssm), computer system, and method of operating an ssm
TWI442222B (en) * 2010-07-21 2014-06-21 Silicon Motion Inc Flash memory device and method for managing a flash memory device
CN106484628A (en) * 2015-08-27 2017-03-08 三星电子株式会社 Mixing memory module based on affairs
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

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI828963B (en) Apparatus and computer program product for controlling different types of storage units
TWI704487B (en) Data storage device and operating method thereof
US11693797B2 (en) Enabling devices with enhanced persistent memory region access
CN112148525B (en) Enables faster and regulated device initialization times
US8812784B2 (en) Command executing method, memory controller and memory storage apparatus
US10275349B2 (en) Data storage device and the operating method thereof
US20200218653A1 (en) Controller, data storage device, and operating method thereof
US11748022B2 (en) Method and apparatus for controlling different types of storage units
CN107179877B (en) Data transmission method, memory control circuit unit and memory storage device
CN111352756B (en) Apparatus for detecting errors in data stored in a memory device and method of operating the same
US20150113305A1 (en) Data storage device
KR102809599B1 (en) Controller, memory system and operating method thereof
CN108427536B (en) Memory system and method of operating the same
CN111373479A (en) Method for maximizing power efficiency in memory interface block
US20180157415A1 (en) Apparatus and method for controlling memory device
US11842069B2 (en) Storage system and method for delaying flushing of a write buffer based on a host-provided threshold
TWI607309B (en) Memory management method, memory control circuit unit and memory storage device
KR102713986B1 (en) Controller, memory system and operating method thereof
TW201935232A (en) Memory management method and storage controller using the same
TWI672593B (en) Memory management method, memory storage device and memory control circuit unit
KR102695482B1 (en) Data storage device and operating method thereof
KR20200114086A (en) Controller, memory system and operating method thereof
TW202314525A (en) Memory polling method, memory storage device and memory control circuit unit
TWI712052B (en) Memory management method, storage controller and storage device
CN106055488A (en) Data storage device and operating method thereof