CN111399752A - 不同类型存储单元的控制装置及方法 - Google Patents
不同类型存储单元的控制装置及方法 Download PDFInfo
- Publication number
- CN111399752A CN111399752A CN201910486615.2A CN201910486615A CN111399752A CN 111399752 A CN111399752 A CN 111399752A CN 201910486615 A CN201910486615 A CN 201910486615A CN 111399752 A CN111399752 A CN 111399752A
- Authority
- CN
- China
- Prior art keywords
- memory
- interface
- module
- flash
- dram
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000015654 memory Effects 0.000 claims abstract description 340
- 238000012545 processing Methods 0.000 claims abstract description 92
- 210000004027 cell Anatomy 0.000 claims description 28
- 210000000352 storage cell Anatomy 0.000 claims description 2
- 230000003139 buffering effect Effects 0.000 claims 1
- 230000009977 dual effect Effects 0.000 description 39
- 238000013500 data storage Methods 0.000 description 19
- 238000013507 mapping Methods 0.000 description 13
- 230000003213 activating effect Effects 0.000 description 7
- CXOXHMZGEKVPMT-UHFFFAOYSA-N clobazam Chemical compound O=C1CC(=O)N(C)C2=CC=C(Cl)C=C2N1C1=CC=CC=C1 CXOXHMZGEKVPMT-UHFFFAOYSA-N 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 229940044442 onfi Drugs 0.000 description 7
- 238000012360 testing method Methods 0.000 description 6
- 238000011084 recovery Methods 0.000 description 5
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000010355 oscillation Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
本发明提出一种用于控制不同类型存储单元的方法及装置。该装置包含:接口,及处理单元。接口连接至少二种不同类型的存储单元,其中包含非易失性的混合型存储器。处理单元耦接接口,用于通过接口对不同类型的存储单元存取数据。混合型存储器的设置可提供主装置更多样的应用潜能,并且将混合型存储器连接上整合型接口可节约硬件成本。
Description
技术领域
本发明涉及存储装置,尤指一种用于控制不同类型存储单元的方法及装置。
背景技术
闪存通常分为NOR闪存与NAND闪存。NOR闪存为随机存取装置,主装置(Host)可在地址引脚上提供任何存取NOR闪存的地址,并及时地从NOR闪存的数据引脚上获得存储在该地址上的数据。相反地,NAND闪存并非随机存取,而是序列存取。NAND闪存无法像NOR闪存一样,可以存取任何随机地址,主装置反而需要写入序列的字节(Bytes)的值到NAND闪存中,用以定义请求命令(Command)的类型(如,读取、写入、抹除等),以及用在此命令上的地址。地址可指向一个页面(闪存中写入操作的最小数据块)或一个区块(闪存中抹除操作的最小数据块)。
大量存储装置(Mass Storage Device)的存储空间可使用NAND闪存存储装置实施,其中包含大量的三层式单元(Triple Level Cells,TLCs),用于存储大量的数据。然而,三层式单元的写入需要较长的时间。此外,三层式单元还需要耗费时间执行耗损平均(WearLeveling)操作,用于延长大量存储装置的使用寿命。当大量存储装置的存储空间只以三层式单元实施时,对于主装置来说,应用的弹性不足,例如,较不适合需要快速存取的冷数据。因此,本发明提出一种用于控制不同类型存储单元的方法及装置,用以克服如上所述的限制。
发明内容
有鉴于此,如何减轻或消除上述相关领域的缺失,实为有待解决的问题。
本发明提出一种用于控制不同类型存储单元的装置。该装置包含:接口;及处理单元。接口连接至少二种不同类型的存储单元,其中包含非易失性的混合型存储器。处理单元耦接接口,用于通过接口对不同类型的存储单元存取数据。
本发明另提出一种用于控制不同类型存储单元的方法,该方法由处理单元在加载及执行软件或固件指令时实施,包含:配置接口为第一工作模式,其中,接口包含多个信道,每个信道连接第一类型及第二类型的存储单元,第一工作模式相应于第一类型的存储单元;驱动接口发出第一信号启动不同信道间的第一类型的存储单元;驱动接口存取第一类型的存储单元的数据;以及于存取第二类型的存储单元的数据前,重新配置接口为第二工作模式,相应于第二类型的存储单元。
本发明另提出一种用于控制不同类型存储单元的方法,该方法由处理单元在加载及执行软件或固件指令时实施,包含:在系统开机阶段,初始化非易失性的混合型存储器;从混合型存储器读取配置闪存存储器的第一参数,以及系统内编程;根据第一参数初始化闪存存储器;以及执行系统内编程,用于进入正常工作模式并等待主装置发出的命令。
上述实施例的优点之一,通过如上所述的混合型存储器的设置,可提供主装置更多样的应用潜能。
上述实施例的另一优点,将混合型存储器连接上如上所述的整合型接口可节约硬件成本。
本发明的其他优点将配合以下的说明和附图进行更详细的解说。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为依据本发明实施例的闪存存储装置的系统架构示意图。
图2及图3为依据本发明实施例的闪存接口与不同种类闪存存储器之间的连接示意图。
图4及图5为依据本发明实施例的存储器接口与不同种类动态随机存取存储器之间的连接示意图。
图6为依据本发明实施例数据存储装置搭载动态随机存取存储器的系统开机流程图。
图7为依据本发明实施例数据存储装置不搭载动态随机存取存储器的系统开机流程图。
【附图标记列表】
100 系统架构
110 主装置
130 控制器
131 处理单元
132 只读存储器
133 静态随机存取存储器
135 主装置接口
137 双模存储器接口
139 双模闪存接口
171#0~171#7 动态随机存取存储器模块
153 类动态随机存取存储器
153#0~153#5 类动态随机存取存储器模块
171 闪存存储器
173#0~173#5 类闪存存储器模块
CH#0~CH#3 通道
CE#0~CE#2 芯片启动信号
CS0~CS2 芯片选择信号
S610~S690、S773 方法步骤
具体实施方式
以下将配合相关附图来说明本发明的实施例。在这些附图中,相同的标号表示相同或类似的组件或方法流程。
必须了解的是,使用在本说明书中的“包含”、“包括”等词,是用于表示存在特定的技术特征、数值、方法步骤、作业处理、组件和/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、组件、组件,或以上的任意组合。
本发明中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的组件,并非用来表示之间具有优先权顺序,先行关系,或者是一个组件先于另一个组件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的组件。
必须了解的是,当组件描述为”连接”或”耦接"至另一组件时,可以是直接连结、或耦接至其他组件,可能出现中间组件。相反地,当组件描述为”直接连接”或”直接耦接”至另一组件时,其中不存在任何中间组件。使用于描述组件之间关系的其他语词也可类似方式解读,例如”介于”相对于”直接介于”,或者是”邻接”相对于”直接邻接”等等。
参考图1。通用的系统架构100包含主装置110、存储器控制器130、动态随机存取存储器151(Dynamic Random Access Memory DRAM)、类动态随机存取存储器153(DRAM-like)、闪存存储器(Flash)171及类闪存存储器(Flash-like)173。此系统架构100可实施于个人计算机、笔记本计算机(Laptop PC)、平板计算机、移动电话、数字相机、数字摄影机等电子产品。存储器控制器130是一种特殊应用集成电路(Application-SpecificIntegrated 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,L2PTable)。动态随机存取存储器151另可存储数据存储装置运作所需的固件(Firmware)以及变量等。
存储器控制器130包含处理单元131,通过主装置接口135与主装置110通信。主装置接口135可为通用闪存记忆存储(Universal Flash Storage UFS)、快速非易失性存储器(Non-Volatile Memory Express NVMe)、通用串行总线(Universal Serial Bus,USB)、先进技术附件(advanced technology attachment,ATA)、串行先进技术附件(serialadvanced technology attachment,SATA)、快速外设组件互联(peripheral componentinterconnect 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-ChangeMemory)或磁阻式存储器来实现。类动态随机存取存储器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 ParityCheck Code)的防护。混合型存储器中存储的数据可使用较低纠错能力的ECC,例如:BCH码(Bose–Chaudhuri–Hocquenghem Code)的防护。以每1K字节的用户数据为例,BCH码可提供最多72个错误比特的修正能力,而LDPC可提供最多128个错误比特的修正能力。
此外,就数据存取的延迟时间(Latency)来说,动态随机存取存储器151优于混合型存储器,而混合型存储器又优于闪存存储器171。所以,基于以上特性的不同,混合型存储器可提供更多样的应用,例如,存储开机时所需的信息、作为主装置110的第四阶缓存(Level-4Cache)等。
由于类闪存存储器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可通过启动芯片启动(ChipEnable,CE)信号CE#0并以多信道模式来存取信道CH#0~3的类闪存存储器模块173#0~3,处理单元131也可通过启动芯片启动信号CE#1并以多信道模式来存取信道CH#0~3的闪存存储器模块173#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的闪存存储器模块173#0以及#3。
双模闪存接口139配置有30支引脚,表1显示双模闪存接口139的引脚功能(PinFunction):
表1
如表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)、写入启动(WriteEnable 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
如表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)、芯片标识符(ChipID)、激活命令输入(Activation Command Input ACT)、输入数据掩码(Input Data MaskDM)、数据总线倒置(Data Bus Inversion DBI)、群组(Bank Group BG)、组地址(BankAddress)、地址输入(Address Input)、命令和地址奇偶校验输入(Command and AddressParity Input,PAR)、测试模式启动(Test Mode Enable)等控制信号。
基于如图4所示的连接,处理单元131可使用不同的通信协议驱动不同类型的存储器模块,或以不同的工作模式驱动不同类型的存储器模块。当启动另一种存储器模块前,处理单元131可重新配置双模存储器接口137。例如,双模存储器接口137在开机时可先被处理单元131配置为存取类DRAM模块153的工作模式。在配置成功后,处理单元131驱动双模存储器接口137发出启动信号CE#0来启动类DRAM模块153#0至153#3,接着,存取开机时所需的程序指令、对照表、数据等。开机成功后,处理单元131可重新配置双模存储器接口137为存取DRAM模块151的工作模式。配置成功后,处理单元131驱动双模存储器接口137发出启动信号CE#1或CE#2来启动DRAM模块151#0至151#3或DRAM模块151#4至151#7,接着,暂存主装置110即将写入闪存存储器171的用户数据,从闪存存储器171读取并即将输出给主装置110的用户数据,或查找时所需的部分逻辑-实体映像表等。在存取用户数据期间,若需要存取类DRAM模块153中的程序指令、对照表或数据,处理单元131在发出启动信号CE#0来启动类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也可作为快速刷写存储空间(FlushStorage Space),当发生掉电的事件时,动态随机存取存储器151的数据可以快速刷写至混合型存储器153或173。动态随机存取存储器151可用以来暂存热数据(Hot Data)及来自主装置110的用户数据(User Data);闪存存储器171则作为主要存储空间(Main StorageSpace),用于备份系统内编程码、冷数据(Cold Data)以及/或少使用数据(Seldom UsedData)。
在一些实施例中,数据存储装置可配置混合型存储器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/EraseCount,P/E Count)。但是,针对闪存存储器171及类闪存存储器173中的实体块的损耗平均操作的启动阀值(Threshold)可以相同也可以不同。
在正常工作模式的一些实施例中,处理单元131可为闪存存储器171及类闪存存储器173执行垃圾收集(Garbage Collection GC)操作。处理单元131可将混合型存储器153或173中的一部分空间配置为预留空间(over provision),作为数据迁移或其他操作的缓冲区。
在正常工作模式的一些实施例中,为了突然断电复原(Sudden Power OffRecovery,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的流程图采用指定的顺序来执行,但是在不违反发明精神的情况下,所属技术领域的技术人员可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。此外,所属技术领域的技术人员也可以将若干步骤整合为一个步骤,或者是除了这些步骤外,循序或平行地执行更多步骤,本发明也不因此而局限。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用于限缩本发明。相反地,此发明涵盖了所属技术领域中的技术人员显而易见的修改与相似设置。所以,权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。
Claims (20)
1.一种不同类型存储单元的控制装置,其特征在于,包含:
接口,连接至少二种不同类型的存储单元,其中,所述存储单元包含非易失性的混合型存储器;以及
处理单元,耦接所述接口,用于通过所述接口对所述不同类型的存储单元存取数据。
2.如权利要求1所述的不同类型存储单元的控制装置,其特征在于,所述混合型存储器为类闪存存储器,所述存储单元还包含内存闪存存储器,所述类闪存存储器存储配置所述闪存存储器需要的参数,以及系统内编程。
3.如权利要求2所述的不同类型存储单元的控制装置,其特征在于,所述接口包含多个通道,每个所述通道连接闪存存储器模块及类闪存存储器模块,所述不同通道间的所述闪存存储器模块以第一信号启动,以及所述不同通道间的所述类闪存存储器模块以第二信号启动。
4.如权利要求3所述的不同类型存储单元的控制装置,其特征在于,在所述处理单元使用所述第一信号使能所述闪存存储器模块前,配置所述接口为存取所述闪存存储器模块的工作模式;以及所述处理单元使用所述第二信号启动所述类闪存存储器模块前,配置所述接口为存取所述类闪存存储器模块的工作模式。
5.如权利要求2所述的不同类型存储单元的控制装置,其特征在于,所述接口包含第一信道及第二信道,所述第一通道只连接闪存存储器模块,以及所述第二通道只连接类闪存存储器模块。
6.如权利要求5所述的不同类型存储单元的控制装置,其特征在于,所述处理单元包含第一处理器核心以及第二处理器核心,所述第一处理器核心用于控制所述第一通道,以及所述第二处理器核心用于控制所述第二通道。
7.如权利要求1所述的不同类型存储单元的控制装置,其特征在于,所述混合型存储器为类动态随机存取存储器,所述存储单元更包含动态随机存取存储器,所述类动态随机存取存储器存储配置所述动态随机存取存储器需要的参数,以及系统内编程。
8.如权利要求7所述的不同类型存储单元的控制装置,其特征在于,所述接口包含多个通道,每个所述信道连接动态随机存取存储器模块及类动态随机存取存储器模块,所述不同信道间的所述动态随机存取存储器模块以第一信号启动,以及所述不同信道间的该类动态随机存取存储器模块以第二信号启动。
9.如权利要求8所述的不同类型存储单元的控制装置,其特征在于,在所述处理单元使用所述第一信号启动所述动态随机存取存储器模块前,配置所述接口为存取所述动态随机存取存储器模块的工作模式;以及所述处理单元使用所述第二信号启动所述类动态随机存取存储器模块前,配置所述接口为存取所述类动态随机存取存储器模块的工作模式。
10.如权利要求7所述的不同类型存储单元的控制装置,其特征在于,所述接口包含第一信道及第二信道,所述第一信道只连接动态随机存取存储器模块,以及所述第二信道只连接类动态随机存取存储器模块。
11.如权利要求10所述的不同类型存储单元的控制装置,其特征在于,所述处理单元包含第一处理器核心以及第二处理器核心,所述第一处理器核心用于控制所述第一通道,以及所述第二处理器核心用于控制所述第二通道。
12.一种不同类型存储单元的控制方法,由处理单元在加载及执行软件或固件指令时实施,其特征在于,包含以下步骤:
配置接口为第一工作模式,其中,所述接口包含多个通道,每个所述通道连接第一类型及第二类型的存储单元,所述第一工作模式相应于所述第一类型的存储单元;
驱动所述接口发出第一信号启动所述不同通道间的所述第一类型的存储单元;
驱动所述接口存取所述第一类型的存储单元的数据;以及
在存取所述第二类型的存储单元的数据前,重新配置所述接口为第二工作模式,相应于所述第二类型的存储单元。
13.如权利要求12所述的不同类型存储单元的控制方法,其特征在于,所述第一类型的存储单元为非易失性的类闪存存储器模块,所述第二类型的存储单元为闪存存储器模块,所述处理单元在开机时配置所述接口为所述第一工作模式,并且驱动所述接口存取所述类闪存存储器模块中用于配置所述闪存存储器模块的参数,所述处理单元于开机成功后配置所述接口为所述第二工作模式。
14.如权利要求12所述的不同类型存储单元的控制方法,其特征在于,所述第一类型的存储单元为非易失性的类动态随机存取存储器模块,所述第二类型的存储单元为动态随机存取存储器模块,所述处理单元于开机时配置所述接口为所述第一工作模式,并且驱动所述接口存取所述类动态随机存取存储器模块中用于配置所述动态随机存取存储器模块的参数,所述处理单元于开机成功后配置所述接口为所述第二工作模式。
15.一种不同类型存储单元的控制方法,由处理单元在加载及执行软件或固件指令时实施,其特征在于,包含以下步骤:
在系统开机阶段,初始化非易失性的混合型存储器;
从所述混合型存储器读取配置闪存存储器的第一参数,以及系统内编程;
根据所述第一参数初始化所述闪存存储器;以及
执行所述系统内编程,用于进入正常工作模式并等待主装置发出的命令。
16.如权利要求15所述的不同类型存储单元的控制方法,其特征在于,包含以下步骤:
在初始化所述混合型存储器前,侦测所有通过接口连接的存储单元的类型,用于找出所述混合型存储器。
17.如权利要求16所述的不同类型存储单元的控制方法,其特征在于,所述处理单元通过所述接口的硬件侦测启动的特定存储单元的特定引脚上的电压电平来判断所述特定存储单元是否属于所述混合型存储器。
18.如权利要求16所述的不同类型存储单元的控制方法,其特征在于,所述处理单元可通过所述接口发送所述混合型存储器可辨认的命令给启动的特定存储单元,并且根据是否收到正确的回复来判断所述特定存储单元是否属于混合型存储器。
19.如权利要求16所述的不同类型存储单元的控制方法,其特征在于,包含以下步骤:
从所述混合型存储器读取配置动态随机存取存储器的第一参数;以及
根据所述第二参数配置该动态随机存取存储器。
20.如权利要求16所述的不同类型存储单元的控制方法,其特征在于,包含以下步骤:
请求所述主装置从主机端配置部分的动态随机存取存储器空间,作为主机内缓冲。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/712,160 US11199991B2 (en) | 2019-01-03 | 2019-12-12 | Method and apparatus for controlling different types of storage units |
US17/519,685 US11748022B2 (en) | 2019-01-03 | 2021-11-05 | Method and apparatus for controlling different types of storage units |
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 |
---|---|
CN111399752A true CN111399752A (zh) | 2020-07-10 |
CN111399752B CN111399752B (zh) | 2023-11-28 |
Family
ID=71428322
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910220318.3A Active CN111399750B (zh) | 2019-01-03 | 2019-03-22 | 闪存数据写入方法及计算机可读取存储介质 |
CN201910486615.2A Active CN111399752B (zh) | 2019-01-03 | 2019-06-05 | 不同类型存储单元的控制装置及方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910220318.3A Active CN111399750B (zh) | 2019-01-03 | 2019-03-22 | 闪存数据写入方法及计算机可读取存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN111399750B (zh) |
TW (3) | TWI739075B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949580A (zh) * | 2020-08-12 | 2020-11-17 | 深圳安捷丽新技术有限公司 | 多频率内存接口及其配置方法 |
CN112379830A (zh) * | 2020-11-03 | 2021-02-19 | 成都佰维存储科技有限公司 | 有效数据位图的创建方法、装置、存储介质及电子设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327240A (zh) | 2020-09-29 | 2022-04-12 | 慧荣科技股份有限公司 | 计算机可读存储介质、闪存存储器的数据存储方法及装置 |
TWI754396B (zh) * | 2020-09-29 | 2022-02-01 | 慧榮科技股份有限公司 | 快閃記憶體的資料儲存方法及裝置以及電腦程式產品 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599295A (zh) * | 2008-06-02 | 2009-12-09 | 联阳半导体股份有限公司 | 整合型储存装置及其控制方法 |
RU2008148129A (ru) * | 2006-06-07 | 2010-06-10 | Майкрософт Корпорейшн (Us) | Гибридное запоминающее устройство с единым интерфейсом |
US20110066837A1 (en) * | 2000-01-06 | 2011-03-17 | Super Talent Electronics Inc. | Single-Chip Flash Device with Boot Code Transfer Capability |
CN102346652A (zh) * | 2010-07-21 | 2012-02-08 | 慧荣科技股份有限公司 | 快闪存储装置与快闪存储装置管理方法 |
US20140164675A1 (en) * | 2012-12-06 | 2014-06-12 | Richard M. Ehrlich | Low-overhead storage of a hibernation file in a hybrid disk drive |
CN104361113A (zh) * | 2014-12-01 | 2015-02-18 | 中国人民大学 | 一种内存-闪存混合存储模式下的olap查询优化方法 |
CN108205499A (zh) * | 2016-12-16 | 2018-06-26 | 西部数据技术公司 | 用于将数据处理转移到混合存储设备的方法和装置 |
CN108959108A (zh) * | 2017-05-26 | 2018-12-07 | 上海宝存信息科技有限公司 | 固态硬盘访问方法以及使用该方法的装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 | 삼성전자주식회사 | 반도체 디스크 및 그것의 동작 방법 |
US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
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 |
CN102375779B (zh) * | 2010-08-16 | 2015-08-19 | 深圳市朗科科技股份有限公司 | 一种数据处理方法以及数据处理模块 |
WO2013111019A2 (en) * | 2012-01-27 | 2013-08-01 | Marvell World Trade Ltd. | Systems and methods for dynamic priority control |
CN102799534B (zh) * | 2012-07-18 | 2015-11-25 | 上海宝存信息科技有限公司 | 基于固态存储介质的存储系统及方法、冷热数据识别方法 |
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 |
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 |
CN107844431B (zh) * | 2017-11-03 | 2022-01-25 | 合肥兆芯电子有限公司 | 映射表更新方法、存储器控制电路单元与存储器存储装置 |
-
2019
- 2019-03-22 CN CN201910220318.3A patent/CN111399750B/zh active Active
- 2019-03-22 TW TW108109906A patent/TWI739075B/zh active
- 2019-06-05 TW TW110102306A patent/TWI828963B/zh active
- 2019-06-05 TW TW108119438A patent/TWI719494B/zh active
- 2019-06-05 CN CN201910486615.2A patent/CN111399752B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110066837A1 (en) * | 2000-01-06 | 2011-03-17 | Super Talent Electronics Inc. | Single-Chip Flash Device with Boot Code Transfer Capability |
RU2008148129A (ru) * | 2006-06-07 | 2010-06-10 | Майкрософт Корпорейшн (Us) | Гибридное запоминающее устройство с единым интерфейсом |
CN101599295A (zh) * | 2008-06-02 | 2009-12-09 | 联阳半导体股份有限公司 | 整合型储存装置及其控制方法 |
CN102346652A (zh) * | 2010-07-21 | 2012-02-08 | 慧荣科技股份有限公司 | 快闪存储装置与快闪存储装置管理方法 |
US20140164675A1 (en) * | 2012-12-06 | 2014-06-12 | Richard M. Ehrlich | Low-overhead storage of a hibernation file in a hybrid disk drive |
CN104361113A (zh) * | 2014-12-01 | 2015-02-18 | 中国人民大学 | 一种内存-闪存混合存储模式下的olap查询优化方法 |
CN108205499A (zh) * | 2016-12-16 | 2018-06-26 | 西部数据技术公司 | 用于将数据处理转移到混合存储设备的方法和装置 |
CN108959108A (zh) * | 2017-05-26 | 2018-12-07 | 上海宝存信息科技有限公司 | 固态硬盘访问方法以及使用该方法的装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949580A (zh) * | 2020-08-12 | 2020-11-17 | 深圳安捷丽新技术有限公司 | 多频率内存接口及其配置方法 |
CN111949580B (zh) * | 2020-08-12 | 2021-11-12 | 深圳安捷丽新技术有限公司 | 多频率内存接口及其配置方法 |
CN112379830A (zh) * | 2020-11-03 | 2021-02-19 | 成都佰维存储科技有限公司 | 有效数据位图的创建方法、装置、存储介质及电子设备 |
CN112379830B (zh) * | 2020-11-03 | 2022-07-26 | 成都佰维存储科技有限公司 | 有效数据位图的创建方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
TW202026893A (zh) | 2020-07-16 |
TW202137017A (zh) | 2021-10-01 |
CN111399750B (zh) | 2023-05-26 |
TWI719494B (zh) | 2021-02-21 |
CN111399750A (zh) | 2020-07-10 |
CN111399752B (zh) | 2023-11-28 |
TWI828963B (zh) | 2024-01-11 |
TW202026891A (zh) | 2020-07-16 |
TWI739075B (zh) | 2021-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844431B (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
US8234466B2 (en) | Flash memory storage system applying SLC NAND flash memory and MLC NAND flash memory and data writing method thereof | |
TWI703571B (zh) | 數據儲存裝置及其操作方法 | |
US8812784B2 (en) | Command executing method, memory controller and memory storage apparatus | |
CN101719103B (zh) | 基于存储设备的信息处理方法以及存储设备 | |
CN111399752B (zh) | 不同类型存储单元的控制装置及方法 | |
US20180095698A1 (en) | Memory management method and storage controller using the same | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
US8589619B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
US20150052415A1 (en) | Data storage device, operating method thereof and data processing system including the same | |
US10635358B2 (en) | Memory management method and storage controller | |
US11132143B2 (en) | Universal flash storage (UFS) device and computing device and computing device including storage UFS device for reporting buffer size based on reuse time after erase | |
US20130159608A1 (en) | Bridge chipset and data storage system | |
CN105389122B (zh) | 数据储存器件的操作方法 | |
US11748022B2 (en) | Method and apparatus for controlling different types of storage units | |
TWI698749B (zh) | 資料儲存裝置與資料處理方法 | |
TWI479315B (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
US11693567B2 (en) | Memory performance optimization method, memory control circuit unit and memory storage device | |
CN107943710B (zh) | 存储器管理方法及使用所述方法的存储控制器 | |
US10339045B2 (en) | Valid data management method and storage controller | |
TW201935232A (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
US10579306B1 (en) | Memory management method and storage controller | |
CN110297595B (zh) | 主机存储器缓冲区配置方法、储存装置与控制电路单元 | |
CN107229413B (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
US20240143226A1 (en) | Data storage device and method for managing a write buffer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |