CN111611178B - 数据储存装置以及非挥发式存储器控制方法 - Google Patents
数据储存装置以及非挥发式存储器控制方法 Download PDFInfo
- Publication number
- CN111611178B CN111611178B CN201910769264.6A CN201910769264A CN111611178B CN 111611178 B CN111611178 B CN 111611178B CN 201910769264 A CN201910769264 A CN 201910769264A CN 111611178 B CN111611178 B CN 111611178B
- Authority
- CN
- China
- Prior art keywords
- physical space
- memory
- value
- space information
- volatile memory
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及高效能的数据储存装置以及非挥发式存储器的控制方法。存储器控制器在一暂存存储器上动态维护映射资讯,显示一主机辨识的逻辑地址映射的实体空间资讯。该存储器控制器以该实体空间资讯的第一位元至第N位元标示一非挥发式存储器的实体空间、或标示一数据快取空间内的地址。该存储器控制器不在该实体空间资讯中规划特定位元区别该实体空间资讯是指向该非挥发式存储器、或该数据快取空间。该存储器控制器是以该第一至该第N位元组成的数值中,相对该非挥发式存储器的实体空间无意义的数值,区别该实体空间资讯是指向该非挥发式存储器、或该数据快取空间。
Description
技术领域
本发明有关于数据储存装置,特别有关于映射资讯的维护。
背景技术
非挥发式存储器有多种形式─例如,快闪存储器(flash memory)、磁阻式随机存取存储器(magnetoresistive RAM)、铁电随机存取存储器(ferroelectric RAM)、电阻式随机存取存储器(resistive RAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等,用于长时间数据保存。
非挥发式存储器有其特殊的储存特性,其操作以及管理需特殊设计。
发明内容
本发明提出一种实体空间资讯格式,用于管理一数据储存装置的映射资讯。
根据本发明一种实施方式实现的一数据储存装置包括一非挥发式存储器、一存储器控制器以及一暂存存储器。该存储器控制器根据一主机的要求存取该非挥发式存储器。该存储器控制器在该暂存存储器上规划一数据快取空间。该存储器控制器在该暂存存储器上动态维护映射资讯,显示该主机辨识的逻辑地址映射的实体空间资讯。该存储器控制器以该实体空间资讯的第一位元至第N位元(N为大于1的数值)标示该非挥发式存储器的实体空间、或标示该数据快取空间内的地址。该存储器控制器不在该实体空间资讯中规划特定位元区别该实体空间资讯是指向该非挥发式存储器、或该数据快取空间。该存储器控制器是以该第一至该第N位元组成的数值中,相对该非挥发式存储器的实体空间无意义的数值,区别该实体空间资讯是指向该非挥发式存储器、或该数据快取空间。
根据本发明技术,实体空间资讯的位元被最佳化利用,足以应付大尺寸的非挥发式存储器。
一种实施方式中,该存储器控制器以一遮罩(Mask)处理该实体空间资讯所获得的数值,辨识该实体空间资讯是指向该非挥发式存储器、或该数据快取空间。
该存储器控制器还可以该遮罩处理该实体空间资讯所获得的数值,辨识该实体空间资讯是否为虚置数据。
一种实施方式中,该存储器控制器以一遮罩处理该实体空间资讯,并在获得一第一数值时判定该实体空间资讯为虚置数据,获得一第二数值时判定该实体空间资讯是指向该数据快取空间,获得非该第一数值、也非该第二数值时判定该实体空间资讯指向该非挥发式存储器。
该存储器控制器可以该遮罩对该实体空间资讯进行逻辑及运算。
一种实施方式中,该非挥发式存储器为一快闪存储器。该快闪存储器的多个区块是以一区块位元数BlkBits区别。各区块中的多个单位是以一单位位元数UnitBits区别。该存储器控制器进行运算:
Mask=(((1<<BlkBits)-1)*(1<<UnitBits)),
其中Mask为该遮罩。
该存储器控制器还可进行运算:
DummySrc=Mask;以及
DRAMSrc=(((1<<BlkBits)-2)*(1<<UnitBits)),
其中,DummySrc为该第一数值,且DRAMSrc为该第二数值。
以上存储器控制器对非挥发式存储器的操作也可以由其他结构实现。本发明还可以前述概念实现非挥发式存储器的控制方法,包括:根据一主机的要求存取一非挥发式存储器;在一暂存存储器上规划一数据快取空间;在该暂存存储器上动态维护映射资讯,显示该主机辨识的逻辑地址映射的实体空间资讯;以该实体空间资讯的第一位元至第N位元标示该非挥发式存储器的实体空间、或标示该数据快取空间内的地址,且不在该实体空间资讯中规划特定位元区别该实体空间资讯是指向该非挥发式存储器、或该数据快取空间;且以该第一至该第N位元组成的数值中,相对该非挥发式存储器的实体空间无意义的数值,区别该实体空间资讯是指向该非挥发式存储器、或该数据快取空间。
下文特举实施例,并配合附图,详细说明本发明内容。
附图说明
图1图解一区块BLK的结构;
图2为方块图,图解根据本发明一种实施方式所实施的数据储存装置200;
图3为本发明判断实体地址类别方法的流程图;
图4为例举本发明判断实体地址类别方法中第一数值与第二数值的设定。
符号说明
200~数据储存装置;
202~快闪存储器;
204~存储器控制器;
206~暂存存储器;
208~主机;
210~系统资讯区块池;
212~闲置区块池;
214~主动区块;
216~数据区块池;
218~实体-逻辑地址映射表;
220~空间,用于载入逻辑-实体地址映射表;
222~数据快取空间;
400~表格;
BLK~区块;
S302…S314~步骤。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照权利要求书界定。
非挥发式存储器可以是快闪存储器(Flash Memory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式存储器(Resistive RAM,RRAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等,提供长时间数据保存的储存媒体。以下特别以快闪存储器为例进行讨论。
现今数据储存装置常以快闪存储器为储存媒体,用以储存来自于主机的使用者数据。数据储存装置的种类众多,包括记忆卡(Memory Card)、通用串行总线装置(USB FlashDevice)、固态硬碟(SSD)…等产品。有一种应用是采多芯片封装、将快闪存储器与其控制器包装在一起─称为嵌入式快闪存储器模组(如eMMC)。
以快闪存储器为储存媒体的数据储存装置可应用于多种电子装置中。所述电子装置包括智慧型手机、穿戴装置、平板电脑、虚拟实境设备…等。电子装置的运算模块可视为主机(Host),操作所使用的数据储存装置,以存取其中快闪存储器。
以快闪存储器为储存媒体的数据储存装置也可用于建构数据中心。例如,伺服器可操作固态硬碟(SSD)阵列形成数据中心。伺服器即可视为主机(Host),操作所连结的固态硬碟,以存取其中快闪存储器。
图2为方块图,图解根据本发明一种实施方式所实施的数据储存装置200,其中包括快闪存储器202、存储器控制器204以及暂存存储器206。主机208系透过存储器控制器204操作快闪存储器202。数据储存装置200内部也可发动快闪存储器202的最佳化操作;例如,存储器控制器204可对快闪存储器202进行垃圾回收(Garbage Collection)、空间修整(Trimming)、区块数据搬移(Block Data Transfer)…等。存储器控制器204进行运算时是以暂存存储器206暂存数据。暂存存储器206可为动态随机存取存储器(DRAM)或SRAM。
快闪存储器202除了具有系统资讯区块池210储存逻辑-实体地址映射表(Logical-to-Physical Addresses Mapping Table,L2P映射表)外,还有许多区块在多种状态间变化。取自闲置区块池212的主动区块214用于接收主机208要求的写入数据。主动区块214关闭后(例如,写入区块结尾(End Of Block,简称EOB)资讯后),将视为数据区块,属于数据区块池216。闲置区块池212将重新提供主动区块214。数据区块经抺除后,可被推入闲置区块池212。主动区块214也可以是配置做快闪存储器202内部数据搬移的目的地。
快闪存储器202的物理空间是划分为多个区块(Blocks)配置使用。图1图解一区块BLK的结构,其中包括多页面(Pages),例如,页面0…页面255。各页面包括多个区段(Sectors),例如:16KB空间的页面可包括32个区段来储存使用者数据,每一区段大小为512B。另外,在4KB数据管理模式下,可将8个区段作为最小的数据管理单位,此时,数据管理单位的大小为4KB,可储存8个区段大小的使用者数据。为了简化说明,下述中将以4KB数据管理模式为例进行说明,但不以此为限。
随着主动区块214的填写,存储器控制器204可在暂存存储器206上维护实体-逻辑地址映射表(Physical-Logical Addresses Mapping Table,P2L映射表)218,显示主动区块214的实体地址究竟储存那些逻辑地址的使用者数据,或实体地址至逻辑地址的映射资讯。如P2L映射表218所载,主动区块214用于多个逻辑地址的使用者数据储存,其反向的映射资讯可以用以更新逻辑-实体地址映射表(Logical-to-Physical Addresses MappingTable,L2P映射表)的内容。另外,存储器控制器204可将L2P映射表(局部或完全)上载至暂存存储器206的空间220,以加速L2P映射表的存取。
一种实施方式中,存储器控制器204根据页面编号,由低至高编号(例如,页面0至页面255),而将使用者数据储存至区块。一种实施方式中,数据储存装置200采用多通道技术,系将不同通道之间的区块视为一个超级区块(Super Block),将不同通道之间的页面视为超级页面(Super Page),再以超级区块或超级页面的作为数据抺除(Erase)或数据写入的单位,采用此架构下可提升数据储存装置200的数据吞吐量。
快闪存储器202有其特殊的储存特性。旧数据更新并非同空间复写。新版的数据需被写入闲置空间,而旧空间内容将被标为无效。区块可能零星留存有效数据,可以执行垃圾回收程序将有效数据搬移到闲置空间。徒留无效数据的区块得以被抹除再利用。
快闪存储器202的实体空间是动态地被配置使用。相较于主机(Host)端是以逻辑地址(例如,逻辑区块地址LBA或全域主机页编号GHP…等)区别使用者数据,各逻辑地址究竟对应至快闪存储器哪一个实体位置(地址)则记录在L2P映射表,其中,实体地址主要可由区块编号、页面编号以及数据管理单位编号来表示,数据管理单位编号又可由偏移量(Offset)来表示。在多通道存取(Multi-Channel Accessing)架构下,实体地址还可包括:通道编号、逻辑单位编号(LUN)、平面编号等资讯。
存储器控制器204在操作快闪存储器202时都需参考或更新L2P映射表的映射资讯,例如:从快闪存储器202中读取使用者数据时需要参考映射资讯,对快闪存储器202写入使用者数据则需更新映射资讯。除了因应主机(Host)的读、写要求,存储器控制器204还会主动或被动地对快闪存储器202执行其他操作,例如:垃圾回收、空间修整、区块数据搬移…等,以上操作也都涉及L2P映射表的映射资讯的参考或更新。
暂存存储器206除了用以暂存L2P映射表,也可能有部分空间被规划作为数据快取(Cache)空间222。当使用者数据被快取在暂存存储器206的数据快取空间222时,L2P映射表中的实体地址为暂存存储器206的实体地址,而非快闪存储器202的实体地址。为了避免暂存存储器206的实体地址以及快闪存储器202的实体地址的混淆,存储器控制器204可以在L2P映射表的实体地址中利用其中一个位元作为旗标,例如,32位元(四位元组)的实体地址规划如下:
位元[31]:UNC位元,供非挥发式存储器高速通讯介面(NVMe)的UNC指令使用。
位元[30:29]:资讯模式(Pattern Mode)位元,00/01代表后续位元[28:0]标示快闪存储器202的实体地址,10代表后续位元[28:0]标示暂存存储器206的实体地址,11代表后续位元[28:0]为无意义的虚置(Dummy)数据。
位元[28:0]:实体地址的数值,其中,位元[28:20]记录区块编号,位元[19:00]记录页面编号以及额外资讯,例如:偏移量(offset)、通道编号CH#、逻辑单元编号(LUN)、芯片致能信号编号CE#、平面编号等。
然而,随着快闪存储器202制造技术的演进,每个区块具有更多页面数量,快闪存储器202具有更多的数据储存空间,因此,L2P映射表中的实体地址需要使用更多位元数才能正确地标示使用者数据的储存位置,原本的实体地址格式已不再适用。
因此,本发明提出一种实体地址格式,可应用在L2P映射表,本发明中32位元的实体地址规划如下:
位元[31]:UNC位元,供非挥发式存储器高速通讯介面(NVMe)的UNC指令使用;
位元[30:0]:实体地址的数值,其中,位元[30:22]记录区块编号,位元[21:00]记录页面编号以及额外资讯。另外,本发明利用不存在的实体地址的数值来作为资讯模式位元。本发明中实体地址由31个位元所表示,而非29个位元,理论上可记录4倍的实体地址,即4倍的数据储存空间。
在本发明实体地址格式中,资讯模式位元不再独占任何专属位元,而是与实体地址共用位元,并利用不存在的数值来表示资讯模式,例如,记录区块编号的位元[31:0]中,位元[30:22]记录区块编号,因此,其最大值为511。但是,快闪存储器202的区块编号的最大值为504,所以,数值505~511为不存在或未使用的数值,因此,资讯模式位元可由不存在或未使用的数值来替代。例如,如果数值为508,则将实体地址判断成暂存存储器206的实体地址;如果数值为511,则将实体地址判断成无意义的虚置数据,其中逻辑运算可利用及、或、位移或遮罩等运算来作为位元[30:22]的数值的判断。
图3为本发明判断实体地址类别方法的流程图。步骤S302,存储器控制器204接收来自主机208的主机命令,其中,主机命令包括命令类别以及逻辑地址,命令类别可为数据读取、数据写入、空间修整等等。
步骤S304,存储器控制器204依据主机命令查询L2P映射表以获得实体地址。存储器控制器204依据主机命令的逻辑地址L2P映射表以获得实体地址,例如,获得的实体地址Phy[31:0]是0x1F054321。
步骤S306,存储器控制器204对实体地址(甚至,实体地址的特定位元)进行逻辑运算以取得结果值。一种实施方式是对位元[31:0]进行逻辑运算。一种实施方式中,存储器控制器204是对实体地址的局部位元[30:24]进行逻辑运算,结果值为"7D"。
步骤S308,存储器控制器204依据结果值来判断实体地址的类别。若为第一数值,存储器控制器204进行步骤S310,判定实体地址为无意义的虚置数据。若为第二数值,存储器控制器204进行步骤S312,判定实体地址为暂存存储器206的实体地址。若非第一、也非第二数值,存储器控制器204进行步骤S314,判定实体地址为快闪存储器202的实体地址。
图4为例举(如表格400所示)本发明判断实体地址类别方法中第一数值与第二数值的设定,其中,第一数值(标号:DummySrc)以及第二数值(标号:DRAMSrc)可由下列方程式计算取得:
ValidBlk=(TotalFBlk<<ShiftCnt)
(方程式1)
Mask=(((1<<BlkBits)-1)*(1<<ShiftCnt))
(方程式2)
DummySrc=Mask
(方程式3)
DRAMSrc=(((1<<BlkBits)-2)*(1<<ShiftCnt))(方程式4)
以图4第一行为例,一个平面的总区块数等于504,或16进位总区块数(标号:TotalFBlk)等于0x1F8,位移量(标号:ShiftCnt,或各区块中多个(写入/储存)单位区别用的一单位位元数UnitBits)等于21位元,依据方程式1,将TotalFBlk向左位移ShiftCnt之后即可算出最大有效值(标号:ValidBlk)等于0x3F000000,而任一大于ValidBlk的数值可作为DummySrc或DRAMSrc。
选一个超过ValidBlk的数值作为遮罩(标号:Mask),如方程式2所示,令区块位元数(标号:BlkBits)等于9以及ShiftCnt等于21,计算可得Mask等于0x3FE00000,Mask可用于本发明判断实体地址类别方法中步骤S306的运算。
如方程式3所示,采用Mask作为DummySrc,即Mask等于DummySrc也等于0x3FE00000。之后,再依方程式4的运算可得知DRAMSrc等于0x3FC00000,DummySrc以及DRAMSrc则可用于本发明判断实体地址类别方法中步骤S308的数值辨识。
以图4第二行为例,一个平面的总区块数等于236,或TotalFBlk等于0xEC,ShiftCnt等于21位元,依据方程式1,将TotalFBlk向左位移ShiftCnt之后即可算出ValidBlk等于0x3B000000,此时,令DummySrc等于0x3FC00000或DRAMSrc等于0x3F800000。
以图4第三行为例,一个平面的总区块数等于1008,或TotalFBlk等于0x3D0,ShiftCnt等于21位元,依据方程式1,将TotalFBlk向左位移ShiftCnt之后即可算出ValidBlk等于0x7E000000,此时,令DummySrc等于7FE00000或DRAMSrc等于0x7FC00000。
以上存储器控制器204对快闪存储器202的操作设计也可以由其他结构实现。凡是利用(方程式1)实体空间标示最大有效值ValidBlk以上闲置数值来区别资讯模式(PatternMode),都属于本发明欲保护范围。本发明还可以前述概念实现非挥发式存储器的控制方法。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当由权利要求书界定为准。
Claims (8)
1.一种数据储存装置,包括:
一非挥发式存储器;以及
一存储器控制器、与一暂存存储器,
其中:
该存储器控制器根据一主机的要求存取该非挥发式存储器;
该存储器控制器在该暂存存储器上规划一数据快取空间;
该存储器控制器在该暂存存储器上动态维护映射资讯,显示该主机辨识的逻辑地址映射的实体空间资讯;
该存储器控制器以该实体空间资讯的第一位元至第N位元标示该非挥发式存储器的实体空间、或标示该数据快取空间内的地址,N为大于1的数值;且
该存储器控制器不在该实体空间资讯中规划特定位元区别该实体空间资讯是指向该非挥发式存储器、或该数据快取空间;且
该存储器控制器是以该第一至该第N位元组成的数值中,相对该非挥发式存储器的实体空间无意义的数值,区别该实体空间资讯是指向该非挥发式存储器、或该数据快取空间,其中,该存储器控制器以一遮罩处理该实体空间资讯,并在获得不同于一第一数值的一第二数值时判定该实体空间资讯是指向该数据快取空间,获得非该第一数值、也非该第二数值时判定该实体空间资讯指向该非挥发式存储器;
该存储器控制器还以该遮罩处理该实体空间资讯所获得的数值,辨识该实体空间资讯是否为虚置数据;
该存储器控制器在获得该第一数值时判定该实体空间资讯为虚置数据。
2.如权利要求1所述的数据储存装置,其特征在于:
该存储器控制器是以该遮罩对该实体空间资讯进行逻辑及运算。
3.如权利要求2所述的数据储存装置,其特征在于:
该非挥发式存储器为一快闪存储器;
该快闪存储器的多个区块是以一区块位元数BlkBits区别;
各区块中的多个单位是以一单位位元数UnitBits区别;且
该存储器控制器进行运算:
Mask=(((1<< BlkBits)-1)*(1<< UnitBits)),
其中Mask为该遮罩。
4.如权利要求3所述的数据储存装置,其特征在于,该存储器控制器还进行运算:
DummySrc = Mask;以及
DRAMSrc = (((1<< BlkBits)-2)*(1<< UnitBits)),
其中,DummySrc为该第一数值,且DRAMSrc为该第二数值。
5.一种非挥发式存储器控制方法,包括:
根据一主机的要求存取一非挥发式存储器;
在一暂存存储器上规划一数据快取空间;
在该暂存存储器上动态维护映射资讯,显示该主机辨识的逻辑地址映射的实体空间资讯;
以该实体空间资讯的第一位元至第N位元标示该非挥发式存储器的实体空间、或标示该数据快取空间内的地址,且不在该实体空间资讯中规划特定位元区别该实体空间资讯是指向该非挥发式存储器、或该数据快取空间,N为大于1的数值;
以该第一至该第N位元组成的数值中,相对该非挥发式存储器的实体空间无意义的数值,区别该实体空间资讯是指向该非挥发式存储器、或该数据快取空间,其中,以一遮罩处理该实体空间资讯,并在获得不同于一第一数值的一第二数值时判定该实体空间资讯是指向该数据快取空间,获得非该第一数值、也非该第二数值时判定该实体空间资讯指向该非挥发式存储器;
以该遮罩处理该实体空间资讯所获得的数值,辨识该实体空间资讯是否为虚置数据;且
在获得该第一数值时判定该实体空间资讯为虚置数据。
6.如权利要求5述的非挥发式存储器控制方法,其特征在于,还包括:
以该遮罩对该实体空间资讯进行逻辑及运算。
7.如权利要求6所述的非挥发式存储器控制方法,其特征在于:
该非挥发式存储器为一快闪存储器;
该快闪存储器的多个区块是以一区块位元数BlkBits区别;
各区块中的多个单位是以一单位位元数UnitBits区别;且
所述方法还进行运算Mask=(((1<< BlkBits)-1)*(1<< UnitBits)),其中Mask为该遮罩。
8.如权利要求7所述的非挥发式存储器控制方法,其特征在于,还进行运算:
DummySrc = Mask;以及
DRAMSrc = (((1<< BlkBits)-2)*(1<< UnitBits)),
其中,DummySrc为该第一数值,且DRAMSrc为该第二数值。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962810422P | 2019-02-26 | 2019-02-26 | |
US62/810,422 | 2019-02-26 | ||
TW108127457A TWI724483B (zh) | 2019-02-26 | 2019-08-02 | 資料儲存裝置以及非揮發式記憶體控制方法 |
TW108127457 | 2019-08-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111611178A CN111611178A (zh) | 2020-09-01 |
CN111611178B true CN111611178B (zh) | 2023-05-26 |
Family
ID=72141691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910769264.6A Active CN111611178B (zh) | 2019-02-26 | 2019-08-20 | 数据储存装置以及非挥发式存储器控制方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11080203B2 (zh) |
CN (1) | CN111611178B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12236088B2 (en) * | 2020-12-28 | 2025-02-25 | Alibaba Group Holding Limited | Recycle optimization in storage engine |
CN114327865A (zh) * | 2021-11-30 | 2022-04-12 | 浪潮电子信息产业股份有限公司 | 一种网卡通讯方法、系统、装置及计算机可读存储介质 |
KR20240053298A (ko) * | 2022-10-17 | 2024-04-24 | 에스케이하이닉스 주식회사 | 호스트와 메모리 시스템에서 맵데이터를 관리하는 장치 및 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104677919A (zh) * | 2013-11-28 | 2015-06-03 | 斯克林集团公司 | 数据运算方法、数据运算装置及缺陷检查装置 |
TWI537728B (zh) * | 2015-09-23 | 2016-06-11 | 群聯電子股份有限公司 | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 |
CN105740157A (zh) * | 2014-11-03 | 2016-07-06 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
US9983832B1 (en) * | 2014-06-27 | 2018-05-29 | EMC IP Holding Company LLC | Storage processor with device cache providing physical memory for guest VM |
CN108874301A (zh) * | 2017-05-08 | 2018-11-23 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5319778A (en) | 1991-07-16 | 1994-06-07 | International Business Machines Corporation | System for manipulating elements in linked lists sharing one or more common elements using head nodes containing common offsets for pointers of the linked lists |
US20030204702A1 (en) * | 2002-04-30 | 2003-10-30 | Adc Dsl Systems, Inc. | Flexible memory architecture for an embedded processor |
US8112574B2 (en) * | 2004-02-26 | 2012-02-07 | Super Talent Electronics, Inc. | Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes |
JP4420351B2 (ja) | 2005-09-30 | 2010-02-24 | 富士通株式会社 | 階層ストレージシステム、制御方法及びプログラム |
US8745315B2 (en) * | 2006-11-06 | 2014-06-03 | Rambus Inc. | Memory Systems and methods supporting volatile and wear-leveled nonvolatile physical memory |
JP5593577B2 (ja) | 2010-12-27 | 2014-09-24 | 株式会社日立製作所 | ストレージシステム及びその制御情報の管理方法 |
TWI521343B (zh) | 2011-08-01 | 2016-02-11 | Toshiba Kk | An information processing device, a semiconductor memory device, and a semiconductor memory device |
US9128845B2 (en) * | 2012-07-30 | 2015-09-08 | Hewlett-Packard Development Company, L.P. | Dynamically partition a volatile memory for a cache and a memory partition |
US9690695B2 (en) | 2012-09-20 | 2017-06-27 | Silicon Motion, Inc. | Data storage device and flash memory control method thereof |
US20140181415A1 (en) | 2012-12-21 | 2014-06-26 | Advanced Micro Devices, Inc. | Prefetching functionality on a logic die stacked with memory |
US9256384B2 (en) | 2013-02-04 | 2016-02-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for reducing write latency in a data storage system by using a command-push model |
TWI514140B (zh) | 2013-02-05 | 2015-12-21 | Via Tech Inc | 非揮發性記憶裝置及其操作方法 |
US20150339058A1 (en) | 2013-03-26 | 2015-11-26 | Hitachi, Ltd. | Storage system and control method |
CN104956312B (zh) | 2013-12-12 | 2018-02-13 | 株式会社日立制作所 | 存储装置及存储装置的控制方法 |
US9383927B2 (en) | 2014-05-28 | 2016-07-05 | SandDisk Technologies LLC | Method and system for creating a mapping table cache from an interleaved subset of contiguous mapping data for a storage device |
US9529731B1 (en) | 2014-06-12 | 2016-12-27 | Emc Corporation | Contention-free approximate LRU for multi-threaded access |
US9460025B1 (en) | 2014-06-12 | 2016-10-04 | Emc Corporation | Maintaining a separate LRU linked list for each thread for multi-threaded access |
US9858008B2 (en) | 2014-10-30 | 2018-01-02 | ScaleFlux | Method to reduce flash memory IOs with host maintained address mapping table |
KR20160118836A (ko) | 2015-04-03 | 2016-10-12 | 에스케이하이닉스 주식회사 | 호스트 커맨드 큐를 포함하는 메모리 컨트롤러 및 그것의 동작 방법 |
TWI587214B (zh) | 2016-04-21 | 2017-06-11 | 慧榮科技股份有限公司 | 資料儲存裝置、其控制單元及其任務排序方法 |
TWI659307B (zh) | 2017-01-06 | 2019-05-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
US10628326B2 (en) | 2017-08-21 | 2020-04-21 | Micron Technology, Inc. | Logical to physical mapping |
US10810123B1 (en) | 2017-10-25 | 2020-10-20 | EMC IP Holding Company, LLC | Flush strategy for using DRAM as cache media system and method |
KR20190090635A (ko) | 2018-01-25 | 2019-08-02 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
TWI660346B (zh) | 2018-09-07 | 2019-05-21 | 大陸商深圳大心電子科技有限公司 | 記憶體管理方法以及儲存控制器 |
WO2020164064A1 (en) | 2019-02-14 | 2020-08-20 | Micron Technology, Inc. | Partial caching of media address mapping data |
US10997082B2 (en) * | 2019-06-25 | 2021-05-04 | Intel Corporation | Memory system, computing system, and methods thereof for cache invalidation with dummy address space |
-
2019
- 2019-08-20 CN CN201910769264.6A patent/CN111611178B/zh active Active
- 2019-09-17 US US16/573,409 patent/US11080203B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104677919A (zh) * | 2013-11-28 | 2015-06-03 | 斯克林集团公司 | 数据运算方法、数据运算装置及缺陷检查装置 |
US9983832B1 (en) * | 2014-06-27 | 2018-05-29 | EMC IP Holding Company LLC | Storage processor with device cache providing physical memory for guest VM |
CN105740157A (zh) * | 2014-11-03 | 2016-07-06 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
TWI537728B (zh) * | 2015-09-23 | 2016-06-11 | 群聯電子股份有限公司 | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 |
CN108874301A (zh) * | 2017-05-08 | 2018-11-23 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200272574A1 (en) | 2020-08-27 |
CN111611178A (zh) | 2020-09-01 |
US11080203B2 (en) | 2021-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110955384B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
US10657047B2 (en) | Data storage device and method of performing partial garbage collection | |
US11232041B2 (en) | Memory addressing | |
US11249897B2 (en) | Data storage device and operating method thereof | |
TWI724483B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
TWI691839B (zh) | 資料管理方法 | |
US9122586B2 (en) | Physical-to-logical address map to speed up a recycle operation in a solid state drive | |
CN111611178B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
TWI718709B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
CN112130750B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
CN112100087B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
US20190114112A1 (en) | Data storage management method and data storage system with namespace planning | |
TWI724550B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
CN110968527B (zh) | Ftl提供的缓存 | |
TWI766194B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
TWI705328B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
TWI761748B (zh) | 多階層映射資訊管理之資料儲存裝置以及非揮發式記憶體控制方法 | |
US10896004B2 (en) | Data storage device and control method for non-volatile memory, with shared active block for writing commands and internal data collection | |
JP2005092678A (ja) | 半導体メモリカード及び不揮発性メモリのデータ消去処理方法 | |
US20240370196A1 (en) | Storage device and operating method of storage device | |
EP4459471A1 (en) | Storage device and operating method of storage device | |
TWI823519B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
CN110968525B (zh) | Ftl提供的缓存、其优化方法与存储设备 | |
TWI669610B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 |
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 |