CN102063377A - 存储介质的数据存取管理方法及存储控制器 - Google Patents

存储介质的数据存取管理方法及存储控制器 Download PDF

Info

Publication number
CN102063377A
CN102063377A CN200910265465.9A CN200910265465A CN102063377A CN 102063377 A CN102063377 A CN 102063377A CN 200910265465 A CN200910265465 A CN 200910265465A CN 102063377 A CN102063377 A CN 102063377A
Authority
CN
China
Prior art keywords
storage medium
data
address
instruction
mapping table
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
Application number
CN200910265465.9A
Other languages
English (en)
Other versions
CN102063377B (zh
Inventor
蔡政宏
陈宏庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
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 MediaTek Inc filed Critical MediaTek Inc
Publication of CN102063377A publication Critical patent/CN102063377A/zh
Application granted granted Critical
Publication of CN102063377B publication Critical patent/CN102063377B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/0608Saving storage space on storage systems
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • 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/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • 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/7201Logical to physical mapping or translation of blocks or pages

Abstract

存储介质的数据存取管理方法及存储控制器。存储控制器用于管理存储介质的数据存取,包含:存储单元,储存地址映射表,地址映射表用于记录储存在存储介质中的第一数据的至少一物理地址,第一数据的物理地址映射至第一数据的逻辑地址;以及处理单元,耦接于存储单元,当接收到在内部处理存储介质中的至少第一数据的指令时,处理单元处理地址映射表以服务于指令,而不控制存储介质对储存在存储介质中的至少第一数据执行物理存取。本发明的优点之一在于改善了文件碎片整理的性能。

Description

存储介质的数据存取管理方法及存储控制器
技术领域
本发明是有关于存储介质的存取,更具体地,是关于存储介质的数据存取管理方法及存储控制器。
背景技术
通常,碎片文件(fragmented files)的内容分切成数据块(chunk)并储存在存储介质中的多个位置。伴随时间的推进,由于存储介质上的文件的添加、删除与修改,因而产生了碎片(fragmentation)。因此,在文件系统中通常使用碎片整理(defragmentation)技术以减少碎片文件的数目。以硬盘驱动器(hard disk drive)为例,数据存取性能很大程度上取决于磁头的循轨(seeking)性能。若文件的内容可记录在硬盘(hard disk)上的连续储存区域中,则磁头所需的循轨时间可明显缩短,从而相应改善数据存取性能。对于固态盘(Solid-State Disk,SSD)驱动器,存储介质通常包含闪存(flash memory)装置。由于闪存装置具有随机存取的能力,因此,与硬盘驱动器相比,SSD驱动器可以不需要应用文件碎片整理以缩短循轨时间。另外,闪存装置因其固有(inherent)特性而具有有限的使用寿命。由于文件碎片整理通常需要数据移动的操作,因此,在文件碎片整理进程中需对闪存装置进行多次读写操作,这将缩短存储介质的使用寿命。然而,在闪存的使用寿命不受影响的情形下,应用于SSD驱动器以使多个文件的内容储存在连续储存区域中的文件碎片整理有可能具有某些优点。例如,简化了所需的文件管理效应并相应提高了数据存取速率;另外,改善了将被占用储存区域释放为空白区域的性能。
因此,需要一种数据处理机制,实现存储介质的高效碎片整理/数据存取。
发明内容
有鉴于此,本发明提供至少一种存储介质的数据存取管理方法及存储控制器。
本发明一种存储介质的数据存取管理方法,包含:建立地址映射表,用于记录储存在该存储介质中的第一数据的至少一物理地址,其中,该第一数据的该物理地址映射至该第一数据的逻辑地址;以及当接收到在内部处理储存在该存储介质中的至少该第一数据的指令时,处理该地址映射表以服务于该指令,而对储存在该存储介质中的至少该第一数据不执行物理存取。
本发明另提供一种存储介质的数据存取管理方法,包含:建立地址映射表,用于记录映射至逻辑地址的特定数据模式;以及当接收到从该存储介质中读取由该逻辑地址做寻址的数据的指令时,输出记录在该地址映射表中的该特定数据模式,以响应该指令,而对该存储介质不执行物理存取。
本发明另提供一种存储介质的数据存取管理方法,包含:提供地址映射表;以及当接收到将由逻辑地址所寻址的特定数据模式写入该存储介质的指令时,在该地址映射表中记录映射至该逻辑地址的该特定数据模式,以响应该指令,而对该存储介质不执行物理存取。
本发明另提供一种存储控制器,用于管理存储介质的数据存取,该存储控制器包含:存储单元,储存地址映射表,该地址映射表用于记录储存在该存储介质中的第一数据的至少一物理地址,其中,该第一数据的该物理地址映射至该第一数据的逻辑地址;以及处理单元,耦接于该存储单元,其中,当接收到在内部处理该存储介质中的至少该第一数据的指令时,该处理单元处理该地址映射表以服务于该指令,而不控制该存储介质执行对储存在该存储介质中的至少该第一数据的物理存取。
本发明另提供一种存储控制器,用于管理存储介质的数据存取,该存储控制器包含:存储单元,储存地址映射表,该地址映射表用于记录映射至逻辑地址的特定数据模式;以及处理单元,耦接于该存储单元,其中,当接收到从该存储介质中读取由该逻辑地址所寻址的数据的指令时,该处理单元输出记录在该地址映射表中的该特定数据模式,以响应该指令,而不控制该存储介质执行对储存在该存储介质中的数据的物理存取。
本发明另提供一种存储控制器,用于管理存储介质的数据存取,该存储控制器包含:存储单元,储存地址映射表;以及处理单元,耦接于该存储单元,其中,当接收到将由逻辑地址所寻址的特定数据模式写入该存储介质的指令时,该处理单元经由操作设置该地址映射表,用于记录映射至该逻辑地址的该特定数据模式,以响应该指令,而不控制该存储介质执行对由该逻辑地址所寻址的该特定数据模式的物理存取。
本发明所提供的至少一种存储介质的数据存取管理方法及存储控制器,其优点之一在于在存储介质的使用寿命免受不利影响的条件下,改善了文件碎片整理的性能。
以下是根据多个图式对本发明的较佳实施例进行详细描述,本领域所属领域技术人员阅读后应可明确了解本发明的目的。
附图说明
图1为根据本发明一实施例的存储控制器的示意图。
图2为地址映射表的一个较佳实施例。
图3为更新后的地址映射表的示意图。
图4为另一个更新后的地址映射表的示意图。
图5为传统ATA指令、新的非数据指令及新的PIO/DMA数据输出指令的比较示意图。
图6为根据本发明另一实施例的位置映射表MT的示意图。
图7为根据本发明一实施例服务于主机产生的读取指令的流程图。
图8为当存储控制器接收到读取指令时处理单元的内部数据流的示意图。
图9为根据本发明一实施例的服务于由主机产生的写入指令的流程图。
图10为当存储控制器接收到写入指令时处理单元的内部数据流的示意图。
具体实施方式
在说明书及权利要求当中使用了某些词汇来指称特定的元件。所属领域技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本说明书及权利要求并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。在通篇说明书及权利要求当中所提及的“包含”为一开放式的用语,故应解释成“包含但不限定于”。“大致”是指在可接受的误差范围内,所属领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性连接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接电性连接于该第二装置,或通过其它装置或连接手段间接地电性连接至该第二装置。说明书后续描述为实施本发明的较佳实施方式,然该描述乃以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附的权利要求所界定者为准。
本发明所提供至少一种存储介质的数据存取管理方法及存储控制器,使用地址映射表(address mapping table)来管理存储介质的数据存取,而对存储介质不执行物理存取,其中,映射表可例如闪存转换层(Flash Translation Layer,FTL)映射表,存储介质可例如固态盘或硬盘。地址映射表可用于记录主机(host)所使用的逻辑地址与存储装置所使用的物理地址之间的映射关系。例如,对于SSD应用,可使用FTL映射表将主机产生的逻辑块地址(Logical Block Address,LBA)转换为SSD驱动器实际使用的物理块地址(Physical Block Address,PBA)。本发明的主题思想在于通过处理地址映射表来服务于(serve)主机发出的指令,而对存储装置的存储介质不执行物理存取(读或写)。以此方式,碎片整理的性能得以大幅改善。详细描述请参见下文。
图1为根据本发明一实施例的存储控制器100的示意图。存储控制器100耦接于主机101与存储介质102之间,并用于根据主机101所发出的指令CMD管理存储介质102的数据存取。在该实施例中,存储控制器100包含处理单元110与存储单元120,其中,存储单元120耦接于处理单元110。处理单元110可使用硬件、软件或二者的任意组合来实现。举例而言,处理单元110可包含处理器,用于执行固件代码以实现预定功能。存储单元120可使用存储器装置(例如,动态随机存取存储器)来实施,用于对地址映射表MT(例如,FTL映射表)进行缓冲。
在大多数储存应用中,存储装置可包含存储控制器。例如,在图1所示的实施例中,存储控制器100与存储介质102均整合在存储装置130中。在存储装置130为硬盘驱动器的情形下,存储介质102可为硬盘。在存储装置130为SSD驱动器的情形下,存储介质102可由闪存装置组成。请注意,此处仅用于说明目的,本发明并不以此为限。在另一种设计中,存储控制器100也可置于存储装置130的外部,存储介质102仍包含在存储装置130的内部。换言之,存储介质102置于存储装置130之内,而存储控制器置于存储装置130之外。相同或类似硬件配置均落入本发明的范围之内。
在存储控制器100的一个运行脚本(operational scenario)中,地址映射表MT记录储存在存储介质102中的数据的至少一个物理地址,其中,该物理地址映射至该数据的逻辑地址,以及当处理单元110接收到在内部处理(也就是,在存储控制器100与主机101之间没有数据传输来响应指令CMD)储存在存储介质102中的至少该数据的指令CMD时,处理单元110不需要控制存储介质102执行对储存在存储介质102中的至少该数据的物理存取,即可服务于指令CMD。
请参照图2,图2为地址映射表的一个较佳实施例。如图2所示,LBA“35”映射至PBA“3”,LBA“36”映射至PBA“4”,LBA“89”映射至PBA“39”,以及LBA“90”映射至PBA“44”。另外,由PBA“3”、PBA“4”、PBA“39”及PBA“44”所寻址的存储介质102的物理块储存有数据,因此,地址映射表MT进一步为逻辑地址与物理地址之间的映射关系记录块状态,用以指示由相应物理地址所寻址的物理块为一已使用的块。
在一种情形下,指令CMD为根据本发明一实施例所提出的内部数据交换指令,用于交换储存在存储介质102中的第一数据与第二数据,处理单元110通过更新地址映射表MT以服务于指令CMD。例如,处理单元110交换第一数据已记录的物理地址与第二数据已记录的物理地址,其中,第一数据已记录的物理地址映射至第一数据的逻辑地址,第二数据已记录的物理地址映射至第二数据的逻辑地址。以此方式,更新后的地址映射表记录映射至第二数据的逻辑地址的第一数据的物理地址,以及映射至第一数据的逻辑地址的第二数据的物理地址。例如,指令CMD预定用于交换储存在LBA“35”与LBA“90”中的数据,以及交换储存在LBA“36”与LBA“89”中的数据。处理单元110通过将LBA“35”、LBA“36”、LBA“89”与LBA“90”分别映射至PBA“44”、PBA“39”、PBA“4”与PBA“3”来服务于指令CMD。更新后的地址映射表MT如图3所示。
在另一种情形下,指令CMD为具有自动清除(auto-free)功能的内部数据移动指令,用于将储存在存储介质102的物理地址中的第一数据移动至存储介质102中的特定物理地址,从而释放由物理地址所寻址的物理块。处理单元110通过更新地址映射表MT来服务于指令CMD。例如,处理单元110将映射至第一数据的逻辑地址的第一数据的物理地址替换为特定物理地址,然后修改物理块的块状态以指示物理块为空白块。以此方式,更新后的地址映射表记录映射至第一数据的逻辑地址的特定物理地址。例如,指令CMD预定用于交换储存在LBA“35”与LBA“90”中的数据,以及交换储存在LBA“36”与LBA“89”中的数据,并释放交换前对应于LBA“35”与LBA“36”的物理块。处理单元110通过将LBA“35”、LBA“36”、LBA“89”与LBA“90”分别映射至PBA“44”、PBA“39”、PBA“4”与PBA“3”,并修改由PBA“3”和PBA“4”所寻址的物理块的块状态以指示这些物理块现在为空白块,来服务于指令CMD。更新后的地址映射表MT如图4所示。
为支持上述内部数据移动指令(也就是,如图5所示的多个新的非数据指令),本发明提出一种与传统高级技术附件(Advanced Technology Attachment,ATA)指令协议不同的一种新的指令协议。这种新的非数据指令包含某些参数,如初始LBA、移动计数器(Count)、移动类型(Type)及指令代码。初始LBA用于替代传统的Read DMA(Direct Memory Access,中文为“直接存储器存取”)指令,并指定源块(source block)的LBA。目标LBA用于替代传统的Write DMA指令,并指定目标块的LBA。移动计数器定义待内部移动的块的数目。移动类型指定该指令为内部数据交换指令(例如,Type=0)或具有自动清除功能的数据移动指令(例如,Type=1)。另外,在一种较佳的设计方式中,指令代码定义为IDM-1。因此,在新的指令协议下的典型的序列ATA(Serial ATA)协议追踪(protocol trace)如下。在下文中,“H2D”为“主机至装置(Host to Device)”的缩写,“D2H”为“装置至主机(Device to Host)”的缩写,以及“FIS”为“框架信息结构(Frame Information Structure)”的缩写。
-移动第一数据块
H2D寄存器FIS(IDM-1,Count=1,Type=1,初始LBA=90,目标LBA=35)
D2H寄存器FIS(返回指令状态)
-移动第二数据块
H2D寄存器FIS(IDM-1,Count=1,Type=0,初始LBA=90,目标LBA=35)
D2H寄存器FIS(返回指令状态)
请注意,上述具有自动清除功能的内部数据移动指令会将物理块释放为空白块;然而,处理地址映射表以服务于数据移动指令而不改变块状态的作法,由于也是通过处理地址映射表而对存储介质不执行物理存取来服务于指令的,因此仍符合本发明的精神。例如,在另一种设计中,指令CMD为内部数据移动指令,用于将储存在存储介质102的物理地址中的第一数据移动至存储介质102的特定物理地址,以及处理单元110通过更新地址映射表MT来服务于指令CMD,其中,处理单元110通过将映射至第一数据的逻辑地址的第一数据已记录的物理地址替换为特定物理地址来更新地址映射表MT。以此方式,更新后的地址映射表记录映射至第一数据的逻辑地址的特定物理地址。这也落入本发明的范围。
对于上述内部数据移动指令,单一数据移动或数据交换是通过处理地址映射表MT来完成的,对存储介质102不执行物理存取。为简化指令处理,在上述新的非数据指令的基础上,本发明进一步提出了根据一个较佳实施例的一种新的可编程输入/输出(Programming Input/Output,PIO)/DMA数据输出指令,该指令由指令代码IDM-2来指定。例如,指令CMD为具有多个指令集的单一指令,该多个指令集经由该单一指令的有效负荷(payload)数据进行传送,以及处理单元110通过查找经由单一指令CMD传送的该多个指令集来服务于单一指令CMD,以用于后续更新地址映射表MT,从而响应单一指令CMD。因此,在新的指令协议下的较佳的SATA协议追踪如下。
-移动第一数据块与第二数据块
H2D寄存器FIS(IDM-2,设置Number=2)
H2D数据FIS
设置1,Count=1,Type=1,初始LBA=90,目标LBA=35
设置2,Count=1,Type=0,初始LBA=89,目标LBA=36
D2H寄存器FIS(返回指令状态)
清楚起见,请参照图5。图5为传统ATA指令、新的非数据指令及新的PIO/DMA数据输出指令的比较示意图。本领域技术人员能够轻易了解传统ATA指令的运行,因此,简洁起见,此处不再赘述。如图5所示,通过使用根据本发明一实施例的新的指令协议执行文件碎片整理不需要对存储介质执行物理存取。因此,当主机(例如SSD驱动器)使用新的指令协议来执行文件碎片整理时,存储介质的原始使用寿命不会受到不利影响;另外,由于在存储介质102与主机101之间不存在数据的物理传输,因此,文件碎片整理性能可通过新的指令协议得以大幅改善。
请注意,如图5所示的Read DMA指令、Write DMA指令及Trim指令在ATA规格书中进行了定义。例如,Read DMA指令允许主机101使用DMA数据传输协议从存储介质102中读取数据;Write DMA指令允许主机101使用DMA数据传输协议将数据写入存储介质102;以及Trim指令允许主机101释放存储介质102不再使用的数据块,如删除文件后或移动文件后所留下的数据块。本领域技术人员能够轻易理解这些传统的ATA指令,因此,简洁起见,此处不再赘述。
除记录逻辑地址与物理地址之间的映射关系之外,根据本发明一较佳实施例的地址映射表MT可记录映射至逻辑地址的特定数据模式(data pattern)(例如,常数数据模式)。请参照图6,图6为根据本发明另一实施例的位置映射表MT的示意图。如图6所示,LBA“35”映射至PBA“3”,LBA“36”映射至PBA“4”,LBA“88”映射至特定数据模式“00”而非PBA,以及LBA“90”映射至另一特定数据模式“FF”而非PBA。在一个较佳设计中,地址映射表MT储存特定数据模式的单一副本(copy),以及对应于特定数据模式的任意LBA映射至特定数据模式的单一副本。如图6所示,LBA“88”与LBA“89”均映射至特定数据模式“00”的相同副本。以此方式,地址映射表MT的尺寸可减小,以及存储单元120的容量需求得以降低。在另外一种设计中,相同特定数据模式的多个副本记录在地址映射表MT中,其中,特定数据模式的每个副本映射至对应特定数据模式的LBA。如图6所示,LBA“88”与LBA“89”可配置为映射至相同特定数据模式“00”的不同副本。
请联合参照图1与图6。当由主机101所发出的指令CMD(例如,读取指令)用于从存储介质102中读取由LBA“88”、LBA“89”与LBA“90”中的一者所寻址的数据时,处理单元110输出记录在地址映射表MT中的相应的特定数据模式,即“00”或“FF”,以响应指令CMD,而不控制存储介质102以执行对储存在存储介质102中的数据的物理存取。另一方面,当由主机101发出的指令CMD(例如,读取指令)用于从存储介质102中读取由LBA“35”与LBA“36”中的一者所寻址的数据时,处理单元110查找地址映射表MT以搜寻被映射的PBA并控制存储介质102输出储存在物理块中的数据,其中,物理块由从地址映射表MT中获取的PBA所寻址。
请联合参照图7与图8。图7为根据本发明一实施例服务于主机产生的读取指令的流程图。图8为当存储控制器100接收到读取指令时处理单元110的内部数据流的示意图。图7所示流程图包含以下步骤:
步骤702:接收来自主机的读取指令。
步骤704:检查地址映射表以查看读取指令所需数据的逻辑地址是否映射至特定数据模式(例如,“00”或“FF”)。若是,则至步骤706;否则,则跳转至步骤708。
步骤706:将地址映射表中记录的特定数据模式直接发送至主机。
步骤708:从存储介质中读取所需数据,并将从存储介质中读取的所需数据发送至主机。
如图8所示,处理单元110选择性地将从地址映射表中导出的特定数据模式(例如,常数数据模式)或从存储介质102中读取的数据输出至主机101,其中,地址映射表在存储单元120中进行缓冲。本领域技术人员在阅读上述说明后当可轻易理解图7所示流程图中每个步骤的操作,因此,简洁起见,此处不再赘述。
特定数据模式可在特殊的时序中进行检测,然后更新地址映射表MT以记录逻辑地址与检测到的特定数据模式之间的每个映射关系。请注意,当逻辑地址与检测到的特定数据模式之间的映射关系记录在地址映射表MT中之后,用于储存检测到的特定数据模式的存储介质102可被释放为空白空间。在第一种设计中,当在接收到从存储介质102中读取由逻辑地址所寻址的数据的指令之前,先接收到格式化对应该逻辑地址的存储介质102的物理块的指令时,处理单元110进一步设置地址映射表MT,用以将该逻辑地址映射至特定数据模式,如“00”或“FF”。在第二种设计中,当在接收到从存储介质102中读取由逻辑地址所寻址的数据的指令之前,先接收到释放对应该逻辑地址的存储介质102的物理块的指令(例如,ATA Trim指令)时,处理单元110进一步设置地址映射表MT,用以将逻辑地址映射至特定数据模式。在第三种设计中,当在接收到从存储介质102中读取由逻辑地址所寻址的数据的指令之前,先接收到将由逻辑地址所寻址的特定数据模式写入存储介质102的指令时,处理单元110进一步设置地址映射表MT,用于将逻辑地址映射至特定数据模式。在第四种设计中,当在接收到从存储介质102中读取由逻辑地址所寻址的数据的指令之前,先接收到从存储介质102中读取由逻辑地址所寻址的特定数据模式的指令时,处理单元110进一步设置地址映射表MT,用于将逻辑地址映射至地址映射表MT中的特定数据模式。在第五种设计中,当在接收到从存储介质102中读取由逻辑地址所寻址的数据的指令之前,处理单元110进一步检测存储介质102是否包含已储存的特定数据模式。若处理单元110检测到存储介质102包含已储存的特定数据模式,处理单元110进一步设置地址映射表MT,用于将逻辑地址映射至特定数据模式。特定数据模式的检测可在存储装置的后台处理(backgroundprocess)期间执行,如垃圾收集(garbage collection)进程、损耗均衡(wear-leveling)进程或错误检测(error detection)进程。
对于数据记录操作,当处理单元110接收到指令CMD(例如,写入指令),用于将由逻辑地址所寻址的特定数据模式(例如“00”或“FF”)写入存储介质102时,处理单元110设置地址映射表MT,用于记录映射至逻辑地址的特定数据模式,以响应指令CMD,而不控制存储介质102执行对内容为特定数据模式的数据的物理存取。例如,当写入指令用于将由LBA“88”所寻址的特定数据模式“00”写入存储介质102中时,处理单元110设置将地址映射表MT中的LBA“88”映射至特定数据模式“00”,如图6所示。
请联合参照图9与图10,图9为根据本发明一实施例的服务于由主机产生的写入指令的流程图。图10为当存储控制器100接收到写入指令时处理单元110的内部数据流的示意图。图9所示的流程图包含下述步骤:
步骤902:接收来自主机的写入指令。
步骤904:检查待记录的数据是否为特定数据模式(例如,“00”或“FF”)。若是,则至步骤906;否则,则跳转至步骤908。
步骤906:使地址映射表记录映射至逻辑地址的特定数据模式,以响应写入指令,而对内容为特定数据模式的数据不执行物理写入存储介质的操作。
步骤908:将内容不是特定数据模式的数据写入存储介质。
如图10所示,处理单元110配备有数据检测功能,用于检查待记录的数据是否为特定数据模式。当未检测到特定数据模式时,处理单元110允许从主机101接收的数据记录入存储介质102,并当检测到从主机101接收到的数据包含特定数据模式时,改变储存在存储单元120中的地址映射表。本领域技术人员在阅读上述说明后能够轻易理解图9所示流程图中所包含的每个步骤的操作,因此,简洁起见,此处不再赘述。
为减少数据量(data amount),处理单元110可使用数据压缩(data compression)技术。例如,当接收到来自主机101的写入指令时,处理单元110检查从主机101接收到的数据是否能够被压缩。若是,则处理单元110压缩接收到的数据,然后将压缩后的数据写入存储介质102;否则,处理单元110直接将接收到的数据写入存储介质102中。另外,地址映射表MT可配置用于进一步记录储存在存储介质102中的压缩后的数据的地址信息。对于数据读取操作,因此,处理单元110使用数据解压缩(data decompression)技术,通过对压缩后的数据进行解压缩以恢复(recover)原来的数据。例如,当接收到来自主机101的读取指令时,处理单元110检查地址映射表MT以查看所需数据是否需要解压缩。若是,则处理单元110对数据进行解压缩,然后将解压缩后的数据输出至主机101;否则,处理单元110直接将所需数据输出至主机101。
此外,由于位于存储介质102中的页文件(page file)/交换文件(swap file)的内容被频繁修改,并且存储介质102中的空白区域不包含已储存的有效数据,因此,不需要对页文件/交换文件与空白区域执行文件碎片整理。若存储控制器100被告知页文件/交换文件与空白区域的地址范围,则文件碎片整理的性能可以得到改善。另外,对标识的页文件/交换文件所执行的垃圾收集可省略或简化,并且标识的空白区域可被存储控制器100用作其它用途。因此,本发明的实施例提出一种新的指令,用于将页文件的地址范围告知存储控制器100,并提出另一种新的指令,用于将空白区域的地址范围告知存储控制器100。举例而言,较佳的SATA协议追踪如下。
-页文件区域
H2D寄存器FIS(页文件区域,起始LBA=90,结束LBA=100)
D2H寄存器FIS(返回指令状态)
-空白区域
H2D寄存器FIS(空白区域,起始LBA=90,结束LBA=100)
D2H寄存器FIS(返回指令状态)
上述的实施例仅用来例举本发明的实施方式,以及阐释本发明的技术特征,并非用来限制本发明的范畴。任何所属领域技术人员可依据本发明的精神轻易完成的改变或均等性的安排均属于本发明所主张的范围,本发明的权利范围应以权利要求为准。

Claims (28)

1.一种存储介质的数据存取管理方法,其特征在于,包含:
建立地址映射表,用于记录储存在所述存储介质中的第一数据的至少一物理地址,其中,所述第一数据的所述物理地址映射至所述第一数据的逻辑地址;以及
当接收到在内部处理储存在所述存储介质中的至少所述第一数据的指令时,处理所述地址映射表以服务于所述指令,而对储存在所述存储介质中的至少所述第一数据不执行物理存取。
2.如权利要求1所述的存储介质的数据存取管理方法,其特征在于,所述地址映射表进一步记录储存在所述存储介质中的第二数据的物理地址,其中,所述第二数据的所述物理地址映射至所述第二数据的逻辑地址;所述指令用于交换储存在所述存储介质中的所述第一数据与所述第二数据;以及处理所述地址映射表以服务于所述指令的步骤包含:
通过交换已记录的所述第一数据已记录的所述物理地址与所述第二数据已记录的所述物理地址,更新所述地址映射表;
其中,更新后的所述地址映射表记录映射至所述第二数据的所述逻辑地址的所述第一数据的所述物理地址,以及映射至所述第一数据的所述逻辑地址的所述第二数据的所述物理地址。
3.如权利要求1所述的存储介质的数据存取管理方法,其特征在于,所述指令用于将储存在所述存储介质的所述物理地址中的所述第一数据移动至所述存储介质的特定地址,以及处理所述地址映射表以服务于所述指令的步骤包含:
通过将所述第一数据已记录的所述物理地址替换为所述特定物理地址,更新所述地址映射表;
其中,更新后的地址映射表记录映射至所述第一数据的所述逻辑地址的所述特定物理地址。
4.如权利要求1所述的存储介质的数据存取管理方法,其特征在于,所述地址映射表进一步记录块状态,所述块状态指示由所述第一数据的所述物理地址所寻址的物理块为已使用的块;所述指令用于将储存在所述存储介质的所述物理地址中的所述第一数据移动至所述存储介质的特定物理地址,并释放由所述物理地址所寻址的所述物理块,以及处理所述地址映射表以服务于所述指令的步骤包含:
通过将所述第一数据的所述物理地址替换为所述特定物理地址,更新所述地址映射表,并修改所述物理块的所述块状态以指示所述物理块为空白块;
其中,更新后的所述地址映射表记录映射至所述第一数据的所述逻辑地址的所述特定物理地址。
5.如权利要求1所述的存储介质的数据存取管理方法,其特征在于,所述指令为具有多个指令集的单一指令,所述多个指令集经由所述单一指令的有效负荷数据进行传送;以及处理所述地址映射表以服务于所述指令的步骤包含:
查找经由所述单一指令传送的所述多个指令集,用于后续更新所述地址映射表,以响应所述单一指令。
6.一种存储介质的数据存取管理方法,其特征在于,包含:
建立地址映射表,用于记录映射至逻辑地址的特定数据模式;以及
当接收到从所述存储介质中读取由所述逻辑地址做寻址的数据的指令时,输出记录在所述地址映射表中的所述特定数据模式,以响应所述指令,而不执行对所述存储介质的物理存取。
7.如权利要求6所述的存储介质的数据存取管理方法,其特征在于,建立所述地址映射表的步骤包含:
当接收到格式化对应所述逻辑地址的所述存储介质的物理块的指令时,将所述逻辑地址映射至所述地址映射表中的所述特定数据模式。
8.如权利要求6所述的存储介质的数据存取管理方法,其特征在于,建立所述地址映射表的步骤包含:
当接收到释放对应于所述逻辑地址的所述存储介质的物理块的指令时,将所述逻辑地址映射至所述地址映射表中的所述特定数据模式。
9.如权利要求6所述的存储介质的数据存取管理方法,其特征在于,建立所述地址映射表的步骤包含:
当接收到将由所述逻辑地址所寻址的所述特定数据模式写入所述存储介质中的指令时,将所述逻辑地址映射至所述地址映射表中的所述特定数据模式。
10.如权利要求6所述的存储介质的数据存取管理方法,其特征在于,建立所述地址映射表的步骤包含:
当接收到从所述存储介质中读取由所述逻辑地址所寻址的所述特定数据模式的指令时,将所述逻辑地址映射至所述地址映射表中的所述特定数据模式。
11.如权利要求6所述的存储介质的数据存取管理方法,其特征在于,建立所述地址映射表的步骤包含:
检测所述存储介质是否包含已储存的所述特定数据模式;以及
当检测到所述存储介质包含已储存的所述特定数据模式时,将所述逻辑地址映射至所述地址映射表中的所述特定数据模式。
12.如权利要求11所述的存储介质的数据存取管理方法,其特征在于,检测所述存储介质是否包含已储存的所述特定数据模式的步骤在所述存储介质的后台处理期间执行。
13.如权利要求12所述的存储介质的数据存取管理方法,其特征在于,所述后台处理为垃圾收集进程、损耗均衡进程或错误检测进程。
14.一种存储介质的数据存取管理方法,其特征在于,包含:
提供地址映射表;以及
当接收到将由逻辑地址所寻址的特定数据模式写入所述存储介质的指令时,在所述地址映射表中记录映射至所述逻辑地址的所述特定数据模式,以响应所述指令,而不执行对所述存储介质的物理存取。
15.一种存储控制器,用于管理存储介质的数据存取,其特征在于,所述存储控制器包含:
存储单元,储存地址映射表,所述地址映射表用于记录储存在所述存储介质中的第一数据的至少一物理地址,其中,所述第一数据的所述物理地址映射至所述第一数据的逻辑地址;以及
处理单元,耦接于所述存储单元,其中,当接收到在内部处理所述存储介质中的至少所述第一数据的指令时,所述处理单元处理所述地址映射表以服务于所述指令,而不控制所述存储介质执行对储存在所述存储介质中的至少所述第一数据的物理存取。
16.如权利要求15所述的存储控制器,其特征在于,所述地址映射表进一步记录储存在所述存储介质中的第二数据的物理地址,其中,所述第二数据的所述物理地址映射至所述第二数据的逻辑地址;所述指令用于交换储存在所述存储介质中的所述第一数据与所述第二数据;以及所述处理单元通过交换所述第一数据已记录的所述物理地址与所述第二数据已记录的所述物理地址,经由操作更新所述地址映射表,其中,储存在所述存储单元中的更新后的所述地址映射表记录映射至所述第二数据的所述逻辑地址的所述第一数据的所述物理地址,及映射至所述第一数据的所述逻辑地址的所述第二数据的所述物理地址。
17.如权利要求15所述的存储控制器,其特征在于,所述指令用于将储存在所述存储介质的所述物理地址中的所述第一数据移动至所述存储介质的特定地址;以及处理单元通过将所述第一数据已记录的所述物理地址替换为所述特定物理地址,经由操作更新所述地址映射表,其中,储存在所述存储单元中的更新后的所述地址映射表记录映射至所述第一数据的所述逻辑地址的所述特定物理地址。
18.如权利要求15所述的存储控制器,其特征在于,所述地址映射表进一步记录块状态,所述块状态指示由所述第一数据的所述物理地址所寻址的物理块为已使用的块;所述指令用于将储存在所述存储介质的所述物理地址中的所述第一数据移动至所述存储介质的特定物理地址,并释放由所述物理地址所寻址的所述物理块;以及所述处理单元通过将所述第一数据的所述物理地址替换为所述特定物理地址,经由操作更新所述地址映射表,并修改所述物理块的所述块状态以指示所述物理块为空白块,其中,更新后的所述地址映射表记录映射至所述第一数据的所述逻辑地址的所述特定物理地址。
19.如权利要求15所述的存储控制器,其特征在于,所述指令为具有多个指令集的单一指令,所述多个指令集经由所述单一指令的有效负荷数据进行传送;以及所述处理单元查找经由所述单一指令传送的所述多个指令集,用于后续更新所述地址映射表,以响应所述单一指令。
20.一种存储控制器,用于管理存储介质的数据存取,其特征在于,所述存储控制器包含:
存储单元,储存地址映射表,所述地址映射表用于记录映射至逻辑地址的特定数据模式;以及
处理单元,耦接于所述存储单元,其中,当接收到从所述存储介质中读取由所述逻辑地址所寻址的数据的指令时,所述处理单元输出记录在所述地址映射表中的所述特定数据模式,以响应所述指令,而不控制所述存储介质执行对储存在所述存储介质中的数据的物理存取。
21.如权利要求20所述的存储控制器,其特征在于,当在接收到从所述存储介质中读取由所述逻辑地址所寻址的数据的所述指令之前,先接收到格式化对应所述逻辑地址的所述存储介质的物理块的指令时,所述处理单元经由操作设置所述地址映射表,用以将所述逻辑地址映射至所述特定数据模式。
22.如权利要求20所述的存储控制器,其特征在于,当在接收到从所述存储介质中读取由所述逻辑地址所寻址的数据的所述指令之前,先接收到释放对应于所述逻辑地址的所述存储介质的物理块的指令时,所述处理单元经由操作设置所述地址映射表,用以将所述逻辑地址映射至所述特定数据模式。
23.如权利要求20所述的存储控制器,其特征在于,当在接收到从所述存储介质中读取由所述逻辑地址所寻址的数据的所述指令之前,先接收到将由所述逻辑地址所寻址的所述特定数据模式写入所述存储介质的指令时,所述处理单元经由操作设置所述地址映射表,用以将所述逻辑地址映射至所述特定数据模式。
24.如权利要求20所述的存储控制器,其特征在于,当在接收到从所述存储介质中读取由所述逻辑地址所寻址的数据的所述指令之前,先接收到从所述存储介质中读取由所述逻辑地址所寻址的所述特定数据模式的指令时,所述处理单元经由操作设置所述地址映射表,用以将所述逻辑地址映射至所述特定数据模式。
25.如权利要求20所述的存储控制器,其特征在于,当在接收到从所述存储介质中读取由所述逻辑地址所寻址的数据的所述指令之前,所述处理单元经由操作检测所述存储介质是否包含已储存的所述特定数据模式,其中,当检测到所述存储介质包含已储存的所述特定数据模式时,所述处理单元经由操作设置所述地址映射表,用以将所述逻辑地址映射至所述特定数据模式。
26.如权利要求25所述的存储控制器,其特征在于,所述处理单元于所述存储介质的后台处理期间检测所述存储介质是否包含已储存的所述特定数据模式。
27.如权利要求26所述的存储控制器,其特征在于,所述后台处理处理为垃圾收集进程、损耗均衡进程或错误检测进程。
28.一种存储控制器,用于管理存储介质的数据存取,其特征在于,所述存储控制器包含:
存储单元,储存地址映射表;以及
处理单元,耦接于所述存储单元,其中,当接收到将由逻辑地址所寻址的特定数据模式写入所述存储介质的指令时,所述处理单元经由操作设置所述地址映射表,用于记录映射至所述逻辑地址的所述特定数据模式,以响应所述指令,而不控制所述存储介质执行对由所述逻辑地址所寻址的所述特定数据模式的物理存取。
CN200910265465.9A 2009-11-16 2009-12-29 存储介质的数据存取管理方法及存储控制器 Active CN102063377B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/619,645 2009-11-16
US12/619,645 US8291194B2 (en) 2009-11-16 2009-11-16 Methods of utilizing address mapping table to manage data access of storage medium without physically accessing storage medium and related storage controllers thereof

Publications (2)

Publication Number Publication Date
CN102063377A true CN102063377A (zh) 2011-05-18
CN102063377B CN102063377B (zh) 2013-09-18

Family

ID=43998662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910265465.9A Active CN102063377B (zh) 2009-11-16 2009-12-29 存储介质的数据存取管理方法及存储控制器

Country Status (3)

Country Link
US (1) US8291194B2 (zh)
CN (1) CN102063377B (zh)
TW (1) TWI488041B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365605A (zh) * 2012-03-30 2013-10-23 富士通株式会社 信息存储设备及方法
CN103389941A (zh) * 2012-05-07 2013-11-13 群联电子股份有限公司 存储器格式化方法、存储器控制器及存储器存储装置
CN104205035A (zh) * 2012-03-28 2014-12-10 谷歌公司 文件映射压缩
CN105723320A (zh) * 2016-02-01 2016-06-29 华为技术有限公司 数据整理方法、存储设备、存储控制器以及存储阵列
CN106293493A (zh) * 2015-05-18 2017-01-04 广明光电股份有限公司 固态硬盘模块动态储存转换层的方法
CN107301015A (zh) * 2016-04-15 2017-10-27 飞思卡尔半导体公司 用于减少存储器设备上的压力的系统和方法
CN108280032A (zh) * 2017-01-06 2018-07-13 慧荣科技股份有限公司 数据储存装置以及快闪存储器控制方法
CN108733576A (zh) * 2017-04-20 2018-11-02 立而鼎科技(深圳)有限公司 一种固态硬盘的内存转换层对映架构及方法
CN109783008A (zh) * 2017-11-13 2019-05-21 爱思开海力士有限公司 数据存储装置及其操作方法
CN109800179A (zh) * 2019-01-31 2019-05-24 维沃移动通信有限公司 获取数据的方法、发送数据的方法、主机和内嵌式存储器
TWI666549B (zh) * 2018-04-18 2019-07-21 祥碩科技股份有限公司 硬碟管理方法與存儲控制器
CN110136666A (zh) * 2019-05-05 2019-08-16 深圳市华星光电技术有限公司 时序控制器及时序控制板
CN110807008A (zh) * 2013-11-08 2020-02-18 三星电子株式会社 用于lba的原子交换和剪切的swat命令和api
CN111562883A (zh) * 2020-04-26 2020-08-21 北京泽石科技有限公司 固态硬盘的缓存管理系统、方法、装置
CN112748955A (zh) * 2019-10-29 2021-05-04 新唐科技股份有限公司 存储装置及其映射方法
CN113590499A (zh) * 2020-04-30 2021-11-02 深圳市帝迈生物技术有限公司 血液分析仪及其数据处理方法、计算机存储介质
CN113590712A (zh) * 2021-07-22 2021-11-02 中共四川省委组织部 一种分布式数据库的管理方法、系统、设备、存储介质
CN114546296A (zh) * 2022-04-25 2022-05-27 武汉麓谷科技有限公司 一种基于zns固态硬盘的全闪存系统和地址映射方法
WO2022232969A1 (en) * 2021-05-05 2022-11-10 Micron Technology, Inc. Data organization for logical to physical table compression
CN115470216A (zh) * 2022-11-01 2022-12-13 安徽南瑞中天电力电子有限公司 一种基于ftl的智能物联表的存储管理方法及存储介质

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120317377A1 (en) * 2011-06-09 2012-12-13 Alexander Palay Dual flash translation layer
CN102231136B (zh) 2011-07-12 2014-06-11 晨星软件研发(深圳)有限公司 一种闪存存储设备的数据存储方法和装置
TWI563383B (en) * 2012-04-25 2016-12-21 Phison Electronics Corp Memory formatting method, memory controller and memory storage apparatus
CN104662609A (zh) * 2012-06-07 2015-05-27 富士通株式会社 选择性地进行存储器的更新的控制装置
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US9021187B2 (en) 2013-01-29 2015-04-28 Sandisk Technologies Inc. Logical block address remapping
JP2014203405A (ja) * 2013-04-09 2014-10-27 富士通株式会社 情報処理装置、メモリ制御装置、データ転送制御方法及びデータ転送制御プログラム
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US9519575B2 (en) * 2013-04-25 2016-12-13 Sandisk Technologies Llc Conditional iteration for a non-volatile device
CN104281538B (zh) * 2013-07-03 2019-05-31 联想(北京)有限公司 一种存储设备的扩容及快照方法和存储设备
CN104679440B (zh) * 2013-11-29 2017-11-10 深圳市国微电子有限公司 一种闪存阵列管理方法及装置
US9514057B2 (en) 2013-12-04 2016-12-06 Sandisk Technologies Llc Storage module and method for managing logical-to-physical address mapping
US9542278B2 (en) 2013-12-26 2017-01-10 Silicon Motion, Inc. Data storage device and flash memory control method
US9652154B2 (en) 2014-02-05 2017-05-16 Sandisk Technologies Llc Storage module and host device for storage module defragmentation
JP2015176245A (ja) 2014-03-13 2015-10-05 株式会社東芝 情報処理装置及びデータ構造
KR20150133530A (ko) * 2014-05-20 2015-11-30 삼성전자주식회사 스토리지 시스템
JP2016057763A (ja) 2014-09-08 2016-04-21 株式会社東芝 キャッシュ装置、及びプロセッサ
KR20160031169A (ko) 2014-09-12 2016-03-22 에스케이하이닉스 주식회사 데이터 패턴 탐지 장치, 이를 포함하는 반도체 장치 및 그 동작 방법
US9830342B2 (en) 2014-11-20 2017-11-28 International Business Machines Corporation Optimizing database deduplication
US10282096B1 (en) * 2014-12-17 2019-05-07 Western Digital Technologies, Inc. Identification of data with predetermined data pattern
US9684602B2 (en) 2015-03-11 2017-06-20 Kabushiki Kaisha Toshiba Memory access control device, cache memory and semiconductor device
CN104765574A (zh) * 2015-04-23 2015-07-08 成都博元时代软件有限公司 数据云端存储方法
KR20160132204A (ko) * 2015-05-07 2016-11-17 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US9804786B2 (en) * 2015-06-04 2017-10-31 Seagate Technology Llc Sector translation layer for hard disk drives
TWI531963B (zh) * 2015-06-04 2016-05-01 Accelstor Inc Data storage systems and their specific instruction enforcement methods
US10216536B2 (en) * 2016-03-11 2019-02-26 Vmware, Inc. Swap file defragmentation in a hypervisor
CN107066393B (zh) * 2017-01-12 2020-06-09 安徽大学 提高地址映射表中映射信息密度的方法
US10289557B2 (en) 2017-08-28 2019-05-14 Western Digital Technologies, Inc. Storage system and method for fast lookup in a table-caching database
TWI670600B (zh) 2017-09-18 2019-09-01 深圳大心電子科技有限公司 資料備份方法、資料恢復方法以及儲存控制器
KR102469958B1 (ko) 2017-10-27 2022-11-25 삼성전자주식회사 블록 주소 없이 액세스되는 불휘발성 메모리 장치 및 그 동작 방법
US10635599B2 (en) 2018-07-26 2020-04-28 Sandisk Technologies Llc Memory controller assisted address mapping
KR20200122685A (ko) * 2019-04-18 2020-10-28 에스케이하이닉스 주식회사 메모리 시스템 내에서 서로 다른 종류의 데이터를 처리하기 위한 장치 및 방법
US11580017B2 (en) 2020-04-27 2023-02-14 Silicon Motion, Inc. Method and apparatus and computer program product for preparing logical-to-physical mapping information for host side
TWI756854B (zh) * 2020-04-27 2022-03-01 慧榮科技股份有限公司 管理資料儲存的方法及裝置以及電腦程式產品
US11809711B2 (en) 2022-01-18 2023-11-07 Silicon Motion, Inc. Flash memory scheme capable of decreasing waiting time of trim command

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04211844A (ja) * 1990-01-19 1992-08-03 Texas Instr Inc <Ti> ファイルシステムディフラグメント化装置及び方法
US5991847A (en) 1997-06-06 1999-11-23 Acceleration Software International Corporation Data pattern caching for speeding up write operations
US5963982A (en) * 1997-07-02 1999-10-05 Webtv Networks, Inc. Defragmentation of stored data without pointer indirection
US6038636A (en) * 1998-04-27 2000-03-14 Lexmark International, Inc. Method and apparatus for reclaiming and defragmenting a flash memory device
US7401174B2 (en) * 2003-12-16 2008-07-15 Matsushita Electric Industrial Co., Ltd. File system defragmentation and data processing method and apparatus for an information recording medium
US7721059B2 (en) * 2006-07-06 2010-05-18 Nokia Corporation Performance optimization in solid-state media
US9153337B2 (en) * 2006-12-11 2015-10-06 Marvell World Trade Ltd. Fatigue management system and method for hybrid nonvolatile solid state memory system
JP4331220B2 (ja) 2007-03-07 2009-09-16 株式会社東芝 未使用物理領域自律管理機能を持つストレージ装置
US7934072B2 (en) * 2007-09-28 2011-04-26 Lenovo (Singapore) Pte. Ltd. Solid state storage reclamation apparatus and method
TWI427476B (zh) * 2009-02-24 2014-02-21 Silicon Motion Inc 快閃記憶體的存取方法及快閃記憶體裝置
CN101533337B (zh) 2009-05-05 2012-04-04 成都市华为赛门铁克科技有限公司 固态硬盘数据管理方法及设备

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9558198B2 (en) 2012-03-28 2017-01-31 Google Inc. File map compression using run length encoding for active blocks
CN104205035A (zh) * 2012-03-28 2014-12-10 谷歌公司 文件映射压缩
CN104205035B (zh) * 2012-03-28 2018-05-29 谷歌有限责任公司 文件映射压缩
CN103365605A (zh) * 2012-03-30 2013-10-23 富士通株式会社 信息存储设备及方法
CN103389941A (zh) * 2012-05-07 2013-11-13 群联电子股份有限公司 存储器格式化方法、存储器控制器及存储器存储装置
CN103389941B (zh) * 2012-05-07 2016-03-02 群联电子股份有限公司 存储器格式化方法、存储器控制器及存储器存储装置
CN110807008A (zh) * 2013-11-08 2020-02-18 三星电子株式会社 用于lba的原子交换和剪切的swat命令和api
CN106293493A (zh) * 2015-05-18 2017-01-04 广明光电股份有限公司 固态硬盘模块动态储存转换层的方法
CN105723320A (zh) * 2016-02-01 2016-06-29 华为技术有限公司 数据整理方法、存储设备、存储控制器以及存储阵列
WO2017132797A1 (zh) * 2016-02-01 2017-08-10 华为技术有限公司 数据整理方法、存储设备、存储控制器以及存储阵列
CN105723320B (zh) * 2016-02-01 2019-03-19 华为技术有限公司 数据整理方法、存储设备、存储控制器以及存储阵列
US10585589B2 (en) 2016-02-01 2020-03-10 Huawei Technologies Co., Ltd. Data collation method, storage device, storage controller, and storage array
CN107301015A (zh) * 2016-04-15 2017-10-27 飞思卡尔半导体公司 用于减少存储器设备上的压力的系统和方法
CN107301015B (zh) * 2016-04-15 2022-05-13 恩智浦美国有限公司 用于减少存储器设备上的压力的系统和方法
CN108280032A (zh) * 2017-01-06 2018-07-13 慧荣科技股份有限公司 数据储存装置以及快闪存储器控制方法
CN108280032B (zh) * 2017-01-06 2022-06-28 慧荣科技股份有限公司 数据储存装置以及快闪存储器控制方法
CN108733576A (zh) * 2017-04-20 2018-11-02 立而鼎科技(深圳)有限公司 一种固态硬盘的内存转换层对映架构及方法
CN108733576B (zh) * 2017-04-20 2022-12-09 得一微电子股份有限公司 一种固态硬盘及其内存转换层对映方法
CN109783008B (zh) * 2017-11-13 2022-04-26 爱思开海力士有限公司 数据存储装置及其操作方法
CN109783008A (zh) * 2017-11-13 2019-05-21 爱思开海力士有限公司 数据存储装置及其操作方法
US10430124B1 (en) 2018-04-18 2019-10-01 Asmedia Technology Inc. Disk managing method and raid controller
TWI666549B (zh) * 2018-04-18 2019-07-21 祥碩科技股份有限公司 硬碟管理方法與存儲控制器
CN109800179A (zh) * 2019-01-31 2019-05-24 维沃移动通信有限公司 获取数据的方法、发送数据的方法、主机和内嵌式存储器
CN109800179B (zh) * 2019-01-31 2021-06-22 维沃移动通信有限公司 获取数据的方法、发送数据的方法、主机和内嵌式存储器
CN110136666A (zh) * 2019-05-05 2019-08-16 深圳市华星光电技术有限公司 时序控制器及时序控制板
CN112748955A (zh) * 2019-10-29 2021-05-04 新唐科技股份有限公司 存储装置及其映射方法
CN112748955B (zh) * 2019-10-29 2023-12-08 新唐科技股份有限公司 存储装置及其映射方法
CN111562883A (zh) * 2020-04-26 2020-08-21 北京泽石科技有限公司 固态硬盘的缓存管理系统、方法、装置
CN113590499A (zh) * 2020-04-30 2021-11-02 深圳市帝迈生物技术有限公司 血液分析仪及其数据处理方法、计算机存储介质
WO2022232969A1 (en) * 2021-05-05 2022-11-10 Micron Technology, Inc. Data organization for logical to physical table compression
CN113590712A (zh) * 2021-07-22 2021-11-02 中共四川省委组织部 一种分布式数据库的管理方法、系统、设备、存储介质
CN114546296A (zh) * 2022-04-25 2022-05-27 武汉麓谷科技有限公司 一种基于zns固态硬盘的全闪存系统和地址映射方法
CN114546296B (zh) * 2022-04-25 2022-07-01 武汉麓谷科技有限公司 一种基于zns固态硬盘的全闪存系统和地址映射方法
CN115470216A (zh) * 2022-11-01 2022-12-13 安徽南瑞中天电力电子有限公司 一种基于ftl的智能物联表的存储管理方法及存储介质

Also Published As

Publication number Publication date
US20110119455A1 (en) 2011-05-19
CN102063377B (zh) 2013-09-18
TW201118570A (en) 2011-06-01
US8291194B2 (en) 2012-10-16
TWI488041B (zh) 2015-06-11

Similar Documents

Publication Publication Date Title
CN102063377B (zh) 存储介质的数据存取管理方法及存储控制器
US8316201B2 (en) Methods for executing a command to write data from a source location to a destination location in a memory device
US8312554B2 (en) Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus
US20100161932A1 (en) Methods for writing data from a source location to a destination location in a memory device
CN107656875B (zh) 作为系统盘的固态硬盘缩短上电时间的方法及系统
TWI385518B (zh) 用於快閃記憶體的資料儲存方法及儲存系統
CN101238431A (zh) 大容量数据存储系统
TWI423026B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN103136116A (zh) 存储器存储系统及其中控装置、管理方法与断电恢复方法
US9389998B2 (en) Memory formatting method, memory controller, and memory storage apparatus
US8819387B2 (en) Memory storage device, memory controller, and method for identifying valid data
CN102890655B (zh) 存储器储存装置、其存储器控制器与有效数据识别方法
US8812772B2 (en) Data merging method for non-volatile memory and controller and storage apparatus using the same
CN105224474A (zh) 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置
CN113419675B (zh) 用于存储器的写操作方法及读操作方法
CN102662606A (zh) Raid配置信息的处理方法和raid控制器
CN107346211B (zh) 映射表加载方法、存储器控制电路单元与存储器储存装置
TW201606503A (zh) 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置
US20090210612A1 (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
CN103389941B (zh) 存储器格式化方法、存储器控制器及存储器存储装置
TWI451247B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
US9235352B2 (en) Datastore for non-overwriting storage devices
CN103412798A (zh) 混合存储快照的实现方法及系统
CN110442300B (zh) 整理指令记录方法、存储器控制电路单元与存储装置
US8627157B2 (en) Storing apparatus

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant