CN108874301B - 数据储存装置以及其操作方法 - Google Patents
数据储存装置以及其操作方法 Download PDFInfo
- Publication number
- CN108874301B CN108874301B CN201710845382.1A CN201710845382A CN108874301B CN 108874301 B CN108874301 B CN 108874301B CN 201710845382 A CN201710845382 A CN 201710845382A CN 108874301 B CN108874301 B CN 108874301B
- Authority
- CN
- China
- Prior art keywords
- trimming
- host
- volatile memory
- space
- block
- 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
- 238000013500 data storage Methods 0.000 title claims abstract description 39
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000013507 mapping Methods 0.000 claims abstract description 89
- 238000009966 trimming Methods 0.000 claims abstract description 74
- 230000015654 memory Effects 0.000 claims abstract description 69
- 238000012937 correction Methods 0.000 claims abstract description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007670 refining Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000007596 consolidation process Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static 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/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
- 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
- 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
- G06F13/1694—Configuration of memory controller to different memory types
-
- 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/0608—Saving storage space on storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/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/7207—Details relating to flash memory management management of metadata or control data
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)
Abstract
本发明涉及一种高效实现空间修整的数据储存装置。具体地说,涉及数据储存装置以及其操作方法。一微控制器在一主机操作下,配置一非挥发式存储器储存数据,并维护该主机的逻辑地址与该非挥发式存储器之间的映射资讯。该微控制器还转换该主机发下的一空间修整指令,使该空间修整指令的多笔修整要求所多次指示的一目标主机区块结合为单次被指示。该目标主机区块的一目标主机区块映射表自该非挥发式存储器载出进行修正的次数因而大幅下降。
Description
技术领域
本发明有关于数据储存装置,特别有关于非挥发式存储器的空间修整(trim)。
背景技术
数据储存装置所采用的非挥发式存储器有多种形式─例如,快闪存储器(flashmemory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式随机存取存储器(Resistive RAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等,用于长时间数据保存。
数据储存装置的效能受限于非挥发式存储器的操作特性。本领域一项重要议题为提升数据储存装置的效能。
发明内容
本发明揭示了一种整合型空间修整技术,使得主机传来的一空间修整指令(trim)无须过分耗费计算资源。
根据本发明一种实施方式提供的一数据储存装置包括一非挥发式存储器、一随机存取存储空间以及一微控制器。在一主机操作下,该微控制器配置该非挥发式存储器储存数据,并维护该主机的逻辑地址与该非挥发式存储器之间的映射资讯。该微控制器还转换该主机发下的一空间修整指令,使该空间修整指令的多笔修整要求所多次指示的一目标主机区块结合为单次被指示。该微控制器将结合成单次被指示的该目标主机区块的一目标主机区块映射表自该非挥发式存储器载出至该随机存取存储空间,于该随机存取存储空间完成该空间修整指令的上述多笔修整要求对该目标主机区块所要求的映射资讯无效修正,再将该目标主机区块映射表自该随机存取存储空间回存该非挥发式存储器。
在一种实施方式中,上述多笔修整要求各自指示一长度以及一起始逻辑地址,以对应一逻辑地址段。该微控制器可更对该空间修整指令的上述多笔修整要求所指示的上述逻辑地址段进行接合,使重迭或连续的逻辑地址段接合在一起。该微控制器还可以一修整单位裁切接合后的上述逻辑地址段,裁去不满该修整单位的首端或/以及尾端。
另一种实施方式是实现的一种数据储存装置操作方法,包括:对应一数据储存装置提供一随机存取空间,该数据储存装置包括一非挥发式存储器;根据一主机,配置该非挥发式存储器储存数据,并维护该主机的逻辑地址与该非挥发式存储器之间的映射资讯;转换该主机发下的一空间修整指令,使该空间修整指令的多笔修整要求所多次指示的一目标主机区块结合为单次被指示;且将结合成单次被指示的该目标主机区块的一目标主机区块映射表自该非挥发式存储器载出至该随机存取存储空间,于该随机存取存储空间完成该空间修整指令的上述多笔修整要求对该目标主机区块所要求的映射资讯无效修正,再将该目标主机区块映射表自该随机存取存储空间回存该非挥发式存储器。
下文特举实施例,并配合附图,详细说明本发明内容。
附图说明
图1A及图1B根据本发明一种实施方式图解一快闪存储器100的物理空间规划;
图2示意以逻辑地址(如,逻辑区块地址LBA或全域主机页GHP)为索引的映射表H2F;
图3举例说明一空间修整指令(trim command);
图4以方块图图解根据本发明一种实施方式实现的一数据储存装置400;
图5为流程图,根据本发明一种实施方式描述整合型空间修整;
图6示意图3的空间修整指令的整合结果。
符号说明
100~快闪存储器;
102~数据区域;
104~闲置区域;
400~数据储存装置;
402~控制单元;
404~主机;
410~微控制器;
412~随机存取存储空间;
414~只读存储器;
420~在系统编程区块池;
422~系统资讯区块池;
424~闲置区块池;
426~数据区块池;
430、432~随机存取存储空间412所提供的空间;
(BLK#,U#)~(物理区块编号,储存单元编号);
BLK#1、BLK#2、BLK#Z~物理区块;
H#3、H#4、H#5、H#6、H#7、H#H、H#K、H#L、H#M、H#N~主机区块;
H2F~映射表;
H2F_H#1、H2F_H#2、H2F_H#N~主机区块映射表;
j~变数;
S502…S516~步骤;
U#i、U#(i+1)、U#(i+2)、U#(i+3)~储存单元。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照权利要求书界定。
非挥发式存储器可以是快闪存储器(flash memory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式存储器(Resistive RAM,RRAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等具有长时间数据保存之存储器装置。以下特别以快闪存储器(flash memory)为例进行讨论。
现今数据储存装置常以快闪存储器为储存媒体,常用来实现记忆卡(memorycard)、通用串行总线闪存装置(USB flash device)、固态硬碟(SSD、NVME、M.2、U.2)…等产品。有一种应用是采多晶片封装、将快闪存储器与其控制器包装在一起─称为嵌入式快闪存储器模组(如eMMC)。
以快闪存储器为储存媒体的数据储存装置可应用于多种电子装置中。所述电子装置包括智慧型手机、穿戴装置、平板电脑、虚拟实境设备…等。电子装置的中央处理单元(CPU)可视为操作所述数据储存装置的一主机。
图1A以及图1B根据本发明一种实施方式图解一快闪存储器100的物理空间规划。
如图1A所示,快闪存储器100的储存空间划分为多个区块(或称物理区块,physical blocks)BLK#1、BLK#2…BLK#Z等,Z为正整数。各物理区块包括多个物理页(physical pages),例如:256个物理页。
图1B详解物理页结构。每一物理页包括一数据区域(data area)102、以及一备用区域(spare area)104。数据区域102可划分为多个储存单元U#i、U#(i+1)、U#(i+2)、U#(i+3),经配置后,对应逻辑地址储存数据。逻辑地址有多种形式,例如,以逻辑区块地址(Logical Block Address,简称LBA)、或全域主机页(Global Host Page,简称GHP)编排。一种实施方式中,数据区域102尺寸为16KB,储存单元U#i、U#(i+1)、U#(i+2)、U#(i+3)各为4KB。各4KB储存单元对应8个逻辑区块地址(如LBA#0~LBA#7之类)、或一个全域主机页。备用区域104是用来储存元数据(metadata),包括该物理页各储存单元U#i、U#(i+1)、U#(i+2)、U#(i+3)所储存的数据的逻辑地址…等。
然而,备用区域104纪录的储存单元至逻辑地址映射关系并非一直有效。快闪存储器100有一种特殊的物理特性:其中数据的更新并非对同样空间作复写,而是将更新数据储存在闲置空间,且原空间的储存内容将转为无效。因应之,快闪存储器100的映射资讯需动态整理成映射表(如,显示逻辑地址至物理空间映射的映射表H2F)。
图2示意以逻辑地址(如,逻辑区块地址LBA或全域主机页GHP)为索引的映射表H2F,其中记录不同逻辑地址的数据是被储存至快闪存储器100哪一物理区块BLK#的哪一储存单元U#(物理地址)。因应庞大的储存空间,映射表H2F可更以主机区块(host block)为单位,对应主机区块H#1、H#2…H#Z细分为主机区块映射表H2F_H#1、H2F_H#2…H2F_H#Z,Z为正整数。一种实施方式中,一主机区块映射表的长度为64KB(可储存于4个连续物理页中),用以记录8K个数据的映射关系。一主机区块映射表涉及的逻辑地址可为GPH#0~#8191、GPH#8192~#16383、GPH#16384~#24575、GPH#24576~#32767、或GPH#32768~#40959之类。该些主机区块映射表H2F_H#1、H2F_H#2…H2F_H#Z于更新后,可依序储存至特定的物理区块中,例如系统资讯区块。一种实施方式中,为了加速主机区块映射表H2F_H的读取,主机区块映射表H2F_H#1、H2F_H#2…H2F_H#Z可以一指标列表管理,或以一高阶映射表(high-levelmapping table)来记录主机区块映射表H2F_H的编号以及主机区块映射表H2F_H所储存的物理地址的映射资讯。映射表H2F是数据储存装置操控快闪存储器100运作的重要依据。
以上映射表H2F使得空间修整指令(trim command)相当适用于快闪存储器100。主机可发出空间修整指令至数据储存装置以通知某一或多数据已不再有效。由于数据已不再有效,数据储存装置可自行将某一或多数据的记录自映射表H2F中移除(如,无效其逻辑地址的映射资讯)。仅于无效数据的物理空间可于垃圾回收(garbage collection)操作时回收、再利用。第3图举例说明一空间修整指令。一空间修整指令可有高达500笔的修整要求。每一笔修整要求可指示一长度以及一起始逻辑地址,或是起始逻辑地址以及终点逻辑地址,以对应一逻辑地址段。映射表H2F中,修整要求所指示的逻辑地址段的映射资讯可被修改为一预设值,例如:0xFFFF或0x0000,以打断或移除该逻辑地址段中所有逻辑地址至该快闪存储器100的映射。
图3所示实施例更示意每笔修整要求所对应的主机区块,依序涉及主机区块H#5、H#6、H#7、H#3、H#4、H#5、H#6、H#7、H#3、H#4…等。由图3中可知,同一主机区块可能在不同时间点被要求修整,造成系统负担。如何优化该些修整要求成为一项技术课题。
图4以方块图图解根据本发明一种实施方式实现的一数据储存装置400,其中包括快闪存储器100以及一控制单元402。控制单元402耦接于一主机404与该快闪存储器100之间,包括根据主机404所下达的指令操作该快闪存储器100。控制单元402包括一微控制器410、一随机存取存储空间412以及一只读存储器414。随机存取存储空间412可与微控制器410置于同一个晶粒(die)、或是分开制作,且可能空间有限(相较于大尺寸DRAM)。例如,SD卡可以512KB的静态随机存取存储器(SRAM)实现所述随机存取存储空间412。只读存储器414存有只读程序码(如,ROM code)。快闪存储器100上更可规划有一在系统编程(in-system programming,简称ISP)区块池420,载有在系统编程(ISP)程序。微控制器410执行该只读存储器414所载之只读程序码或/以及空间410的在系统编程(ISP)程序,以进行运作,且运作中可利用该随机存取存储空间412作动态资讯储存。本发明系以控制单元402对快闪存储器100作整合型空间修整,其中涉及该随机存取存储空间412的详细利用。
参阅图4,快闪存储器100的物理区块还包括以下配置:系统资讯区块池422、闲置区块池424以及数据区块池426。系统资讯区块池422的区块储存系统资讯,包括映射表H2F之非挥发式存储,映射表H2F可同图2所示概念细分为多个主机区块映射表H2F_H#1、H2F_H#2…H2F_H#Z。闲置区块池424内的区块可经控制单元402配置来储存数据(例如,作为主动区块接收主机404的写入数据、或作为垃圾回收的目标区块),并待数据储存完成(写满、或中断不再利用)即推入数据区块池426定义为数据区块。数据区块池426的区块的斜线部分,示意空间修整指令所欲修整的(多个)逻辑地址段。
微控制器410会利用随机存取存储空间412,储存主机404传来的一空间修整指令(trim command),再判断空间修整指令的所有修整要求所对应的多个逻辑地址段,再判断多个逻辑地址段所涉及的主机区块映射表H2F_H,例如:依序包括主机区块映射表H2F_H#N、H#H、H#K、H#L、H#M、H#N…等,H、K、L、M、N为正整数。将主机区块映射表H2F_H予以整理,微控制器410会辨识出数个修整要求皆与主机区块映射表H2F_H#N有关。关于涉及多笔修整要求的主机区块映射表H2F_H#N,微控制器410从快闪存储器100载出其主机区块映射表H2F_H#N至该随机存取存储空间412,一口气完成该些笔修整要求的逻辑地址段的映射资讯的修改(例如,填FFFF)。完成此次修改后,由于主机区块映射表H2F_H#N的内容已被更新,微控制器410较佳将更新后的主机区块映射表H2F_H#N自该随机存取存储空间412回存至该快闪存储器100,用于该映射表H2F的非挥发式维护。经由以上技术手段,微控制器410无须反复将主机区块映射表H2F_H#N自快闪存储器100的映射表H2F载出且回存,使数据储存装置400执行空间修整指令的效能大大提升。
一种实施方式中,微控制器410先联集(union)多个修整要求所对应的多个逻辑地址段后,产生一联集后逻辑地址段,再找出此联集后逻辑地址段所对应的多个主机区块映射表H2F_H,最后,依先后顺序或依权重而选取多个主机区块映射表H2F_H其中之一作为目标主机区块,并执行此目标主机区块的映射资讯的修改,依此类推。
一种实施方式中,动态随机存取存储器SRAM提供第一空间430以及第二空间432。第一空间430用于数据整理,以分析主机404传来的空间修整指令。第二空间432则用于单个主机区块映射表的动态维护。
图5为流程图,根据本发明一种实施方式描述整合型空间修整。步骤S502,接收来自主机的空间修整指令。步骤S504,取得空间修整指令的多个修整要求。步骤S506,取得多个修整要求所对应的多个逻辑地址段。步骤S508整理多个逻辑地址段以产生多个主机区块映射表H2F_H,例如主机区块映射表H2F_H#10~#20,其中,整理多个逻辑地址段以产生多个主机区块映射表H2F_H乃将多个逻辑地址段予以接合后,再找出接合后逻辑地址段所对应的多个主机区块映射表H2F_H;或者,记录每一逻辑地址段所对应的主机区块映射表H2F_H以产生多个主机区块映射表H2F_H,其中,使每一主机区块映射表H2F_H仅单次出现。步骤S510,读取步骤S508整理后的多个主机区块映射表其中之一,例如主机区块映射表H2F_H#10,此主机区块映射表H2F_H较佳自快闪存储器100载至随机存取存储空间412。步骤S512:依据多个修整要求一次性修改载出的主机区块映射表H2F_H的映射资讯。步骤S514将更新后的主机区块映射表H2F_H回存快闪存储器100,以避免电力中断所造成的数据遗失。步骤S516判断修整是否结束,是否还有需要修整的主机区块映射表H2F_H。若修整未结束,则流程回到步骤S510,读取另一个多个主机区块映射表H2F_H,例如主机区块映射表H2F_H#11,流程进行直至步骤S516判定已无欲修整的主机区块映射表H2F_H。
前述逻辑地址段接合可将主机404传来的一空间修整指令(trim command)的多笔修整要求所指示的重迭或连续逻辑地址段接合在一起。一种实施方式中,空间修整需对齐修整单位。修整单位可同图1B所述储存单元U#i的大小(例如4KB)。关于欲无效其映射数据的逻辑地址段,其中不对齐储存单元的未满4KB的首端或尾端空间将不予处理。前述逻辑地址段接合技术,将使得尾端不满4KB空间而未修整到的事件较少发生。
图6示意图3的空间修整指令的整合结果。为了简明起见,此段只对图3所示4笔修整要求作讨论。图3的四笔修整将经图5流程处理。相较于图3须进行主机区块映射表H2F_H#5'H2F_H#6'H2F_H#7'H2F_H#3'H2F_H#4'H2F_H#5'H2F_H#6'H2F_H#7'H2F_H#3'H2F_H#4如此高达10回合的映射表载出、修正以及回存,所揭露的整合型空间修整将大大降低系统负担。图6显示,经本发明整合型空间修整技术,图3所示四笔修整要求可仅藉5回合的映射表载出、修正以及回存即可进行,依序为:H2F_H#5'H2F_H#6'H2F_H#7'H2F_H#3'H2F_H#4。
其他采用上述整合型空间修整概念实现的技术都属于本发明所欲保护的范围。基于以上技术内容,本发明更涉及数据储存装置操作方法。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当由权利要求书界定为准。
Claims (20)
1.一种数据储存装置,包括:
一非挥发式存储器;
一随机存取存储空间;以及
一微控制器,在一主机操作下,配置该非挥发式存储器储存数据,并维护该主机的逻辑地址与该非挥发式存储器之间的映射资讯;
其中:
该微控制器更转换该主机发下的一空间修整指令,使该空间修整指令的多笔修整要求所多次指示的一目标主机区块结合为单次被指示;且
该微控制器将结合成单次被指示的该目标主机区块的一目标主机区块映射表自该非挥发式存储器载出至该随机存取存储空间,于该随机存取存储空间完成该空间修整指令的上述多笔修整要求对该目标主机区块所要求的映射资讯无效修正。
2.如权利要求1所述的数据储存装置,其特征在于:
上述多笔修整要求各自指示一长度以及一起始逻辑地址,以对应一逻辑地址段。
3.如权利要求2所述的数据储存装置,其特征在于:
该微控制器更对该空间修整指令的上述多笔修整要求所指示的上述逻辑地址段进行接合,使重迭或连续的逻辑地址段接合在一起。
4.如权利要求3所述的数据储存装置,其特征在于:
该微控制器更将接合后的上述逻辑地址段转换为主机区块,以修正所对应的主机区块映射表,使该非挥发式存储器释出可用空间。
5.如权利要求3所述的数据储存装置,其特征在于:
该微控制器还以一修整单位裁切接合后的上述逻辑地址段,裁去不满该修整单位的首端或/以及尾端。
6.如权利要求5所述的数据储存装置,其特征在于:
该微控制器更将接合且裁切后的上述逻辑地址段转换为主机区块,以修正所对应的主机区块映射表,使该非挥发式存储器释出可用空间。
7.如权利要求6所述的数据储存装置,其特征在于:
该非挥发式存储器划分为多个储存单元;且
该主机的逻辑地址与该非挥发式存储器之间的映射资讯是标示该主机的逻辑地址映射上述储存单元何者。
8.如权利要求7所述的数据储存装置,其特征在于:
上述储存单元的尺寸即用作上述修整单位。
9.如权利要求7所述的数据储存装置,其特征在于:
该非挥发式存储器包括多个物理区块,上述各物理区块包括多个物理页,且各物理页包括N个上述储存单元。
10.如权利要求1所述的数据储存装置,其特征在于:
该微控制器是将映射资讯设定成一预设值使的无效。
11.一种数据储存装置操作方法,包括:
对应一数据储存装置提供一随机存取空间,该数据储存装置包括一非挥发式存储器;
根据一主机,配置该非挥发式存储器储存数据,并维护该主机的逻辑地址与该非挥发式存储器之间的映射资讯;
转换该主机发下的一空间修整指令,使该空间修整指令的多笔修整要求所多次指示的一目标主机区块结合为单次被指示;且
将结合成单次被指示的该目标主机区块的一目标主机区块映射表自该非挥发式存储器载出至该随机存取存储空间,于该随机存取存储空间完成该空间修整指令的上述多笔修整要求对该目标主机区块所要求的映射资讯无效修正。
12.如权利要求11所述的数据储存装置操作方法,其特征在于:
上述多笔修整要求各自指示一长度以及一起始逻辑地址,以对应一逻辑地址段。
13.如权利要求12所述的数据储存装置操作方法,其特征在于,还包括:
对该空间修整指令的上述多笔修整要求所指示的上述逻辑地址段进行接合,使重迭或连续的逻辑地址段接合在一起。
14.如权利要求13所述的数据储存装置操作方法,其特征在于,还包括:
将接合后的上述逻辑地址段转换为主机区块,以修正所对应的主机区块映射表,使该非挥发式存储器释出可用空间。
15.如权利要求13所述的数据储存装置操作方法,其特征在于,还包括:
以一修整单位裁切接合后的上述逻辑地址段,裁去不满该修整单位的首端或/以及尾端。
16.如权利要求15所述的数据储存装置操作方法,其特征在于,还包括:
将接合且裁切后的上述逻辑地址段转换为主机区块,以修正所对应的主机区块映射表,使该非挥发式存储器释出可用空间。
17.如权利要求16所述的数据储存装置操作方法,其特征在于:
该非挥发式存储器划分为多个储存单元;且
该主机的逻辑地址与该非挥发式存储器之间的映射资讯是标示该主机的逻辑地址映射上述储存单元何者。
18.如权利要求17所述的数据储存装置操作方法,其特征在于:
上述储存单元的尺寸即用作上述修整单位。
19.如权利要求17所述的数据储存装置操作方法,其特征在于:
该非挥发式存储器包括多个物理区块,上述各物理区块包括多个物理页,且各物理页包括N个上述储存单元。
20.如权利要求11所述的数据储存装置操作方法,其特征在于是将映射资讯设定成一预设值,以使之无效。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106115112 | 2017-05-08 | ||
TW106115112A TWI634424B (zh) | 2017-05-08 | 2017-05-08 | 資料儲存裝置以及其操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108874301A CN108874301A (zh) | 2018-11-23 |
CN108874301B true CN108874301B (zh) | 2021-08-10 |
Family
ID=64015298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710845382.1A Active CN108874301B (zh) | 2017-05-08 | 2017-09-19 | 数据储存装置以及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10481837B2 (zh) |
CN (1) | CN108874301B (zh) |
TW (1) | TWI634424B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102583592B1 (ko) * | 2018-03-27 | 2023-10-06 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
CN110908925B (zh) | 2018-09-17 | 2022-01-25 | 慧荣科技股份有限公司 | 高效能垃圾收集方法以及数据存储装置及其控制器 |
US10884954B2 (en) | 2018-09-17 | 2021-01-05 | Silicon Motion, Inc. | Method for performing adaptive locking range management, associated data storage device and controller thereof |
TWI721365B (zh) * | 2018-09-17 | 2021-03-11 | 慧榮科技股份有限公司 | 高效能垃圾收集方法以及資料儲存裝置及其控制器 |
KR20200088713A (ko) * | 2019-01-15 | 2020-07-23 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
CN111611178B (zh) * | 2019-02-26 | 2023-05-26 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN111610929B (zh) * | 2019-02-26 | 2023-04-14 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
TWI742698B (zh) * | 2019-11-29 | 2021-10-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
US11748023B2 (en) | 2019-11-29 | 2023-09-05 | Silicon Motion, Inc. | Data storage device and non-volatile memory control method |
CN112882649B (zh) | 2019-11-29 | 2024-04-02 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN112882650B (zh) * | 2019-11-29 | 2024-04-30 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN113296691B (zh) * | 2020-07-27 | 2024-05-03 | 阿里巴巴集团控股有限公司 | 数据处理系统、方法、装置以及电子设备 |
CN114356793B (zh) * | 2021-11-25 | 2024-02-27 | 苏州浪潮智能科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI525631B (zh) * | 2011-11-14 | 2016-03-11 | Lsi公司 | 儲存裝置及其操作方法 |
CN105760311A (zh) * | 2016-02-17 | 2016-07-13 | 珠海全志科技股份有限公司 | trim命令响应方法和系统及操作系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8060670B2 (en) * | 2004-03-17 | 2011-11-15 | Super Talent Electronics, Inc. | Method and systems for storing and accessing data in USB attached-SCSI (UAS) and bulk-only-transfer (BOT) based flash-memory device |
KR20090121631A (ko) * | 2008-05-22 | 2009-11-26 | 삼성전자주식회사 | 반도체 메모리 장치, 메모리 시스템 및 그것의 데이터 복구방법 |
US8386537B2 (en) * | 2009-12-15 | 2013-02-26 | Intel Corporation | Method for trimming data on non-volatile flash media |
US20120059976A1 (en) * | 2010-09-07 | 2012-03-08 | Daniel L. Rosenband | Storage array controller for solid-state storage devices |
US11232022B2 (en) * | 2010-10-29 | 2022-01-25 | Samsung Electronics Co., Ltd. | Memory system, data storage device, user device and data management method thereof having a data management information matching determination |
KR101824949B1 (ko) * | 2011-11-23 | 2018-02-05 | 삼성전자주식회사 | 플래시 메모리를 기반으로 하는 저장 장치 및 그것을 포함한 사용자 장치 |
US8949512B2 (en) * | 2012-02-17 | 2015-02-03 | Apple Inc. | Trim token journaling |
US9323667B2 (en) * | 2012-04-12 | 2016-04-26 | Violin Memory Inc. | System and method for managing trim operations in a flash memory system using mapping tables and block status tables |
CN102789368B (zh) * | 2012-06-21 | 2015-10-21 | 记忆科技(深圳)有限公司 | 一种固态硬盘及其数据管理方法、系统 |
US20140129758A1 (en) * | 2012-11-06 | 2014-05-08 | Spansion Llc | Wear leveling in flash memory devices with trim commands |
US10296259B2 (en) * | 2014-12-22 | 2019-05-21 | Hand Held Products, Inc. | Delayed trim of managed NAND flash memory in computing devices |
CN106843742A (zh) * | 2015-12-03 | 2017-06-13 | 广明光电股份有限公司 | 固态硬盘及其执行删除命令的方法 |
US9927985B2 (en) * | 2016-02-18 | 2018-03-27 | SK Hynix Inc. | Method of dynamic table journaling |
-
2017
- 2017-05-08 TW TW106115112A patent/TWI634424B/zh active
- 2017-09-19 CN CN201710845382.1A patent/CN108874301B/zh active Active
- 2017-11-15 US US15/813,573 patent/US10481837B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI525631B (zh) * | 2011-11-14 | 2016-03-11 | Lsi公司 | 儲存裝置及其操作方法 |
CN105760311A (zh) * | 2016-02-17 | 2016-07-13 | 珠海全志科技股份有限公司 | trim命令响应方法和系统及操作系统 |
Also Published As
Publication number | Publication date |
---|---|
US20180321883A1 (en) | 2018-11-08 |
TWI634424B (zh) | 2018-09-01 |
CN108874301A (zh) | 2018-11-23 |
TW201843590A (zh) | 2018-12-16 |
US10481837B2 (en) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874301B (zh) | 数据储存装置以及其操作方法 | |
CN109426619B (zh) | 访问快闪存储器模块的方法及相关闪存控制器与电子装置 | |
CN108733510B (zh) | 数据储存装置及映射表重建方法 | |
US10831734B2 (en) | Update-insert for key-value storage interface | |
TWI650644B (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 | |
CN106354615B (zh) | 固态硬盘日志生成方法及其装置 | |
US20180089074A1 (en) | Techniques to Manage Key-Value Storage at a Memory or Storage Device | |
US8010770B2 (en) | Caching device for NAND flash translation layer | |
US8650379B2 (en) | Data processing method for nonvolatile memory system | |
CN113282522A (zh) | 数据储存装置以及其操作方法 | |
US9690698B2 (en) | Controller including map table, memory system including semiconductor memory device, and method of operating the same | |
US10360155B1 (en) | Multi-tier memory management | |
TWI679534B (zh) | 資料儲存裝置以及資料儲存方法 | |
US9164704B2 (en) | Semiconductor storage device for handling write to nonvolatile memories with data smaller than a threshold | |
TW201926046A (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
CN109697170B (zh) | 存取闪存模块的方法及相关的闪存控制器与电子装置 | |
JP2015026379A (ja) | 磁気ランダムアクセスメモリ(mram)を使用する記憶デバイスのメモリアレイのコントローラ管理 | |
US10019198B2 (en) | Method and apparatus for processing sequential writes to portions of an addressable unit | |
US20070192533A1 (en) | Apparatus and method for managing mapping information of nonvolatile memory | |
CN112882649A (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
CN111026325A (zh) | 闪存控制器、闪存控制器的控制方法及相关的电子装置 | |
US20190227740A1 (en) | Atomic write method for multi-transaction | |
JP2013232144A (ja) | 制御装置、記憶装置、記憶制御方法 | |
JP2014071906A (ja) | コンピュータシステム及びそのデータ管理方法 | |
KR100479170B1 (ko) | 메모리 억세스 제어장치 및 방법 |
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 |