CN107203476A - 数据储存装置、存储器控制器及其数据管理方法 - Google Patents

数据储存装置、存储器控制器及其数据管理方法 Download PDF

Info

Publication number
CN107203476A
CN107203476A CN201710077455.7A CN201710077455A CN107203476A CN 107203476 A CN107203476 A CN 107203476A CN 201710077455 A CN201710077455 A CN 201710077455A CN 107203476 A CN107203476 A CN 107203476A
Authority
CN
China
Prior art keywords
data
follow
storage area
page
storage device
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
CN201710077455.7A
Other languages
English (en)
Other versions
CN107203476B (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.)
Silicon Motion Inc
Original Assignee
Silicon Motion 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
Priority claimed from TW105108490A external-priority patent/TWI585676B/zh
Priority claimed from TW105125096A external-priority patent/TWI592943B/zh
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN107203476A publication Critical patent/CN107203476A/zh
Application granted granted Critical
Publication of CN107203476B publication Critical patent/CN107203476B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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
    • 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/0653Monitoring storage devices or 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • 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/7211Wear leveling

Abstract

本发明涉及一种数据储存装置的数据管理方法,其步骤包括:接收读取指令;当读取指令对应的目标数据储存于非易失性存储器,由非易失性存储器中读取包含所述目标数据的数据页;判断数据页的读取次数是否大于读取阈值;当判断为否,复制并储存至少一后续数据至数据暂时储存装置的第一储存空间;以及当判断为是,复制并储存至少一复数后续数据至数据暂时储存装置的第二储存空间;其中,目标数据与至少一复数后续数据储存于数据页,且目标数据与至少一复数后续数据在数据读取上有前后的关系。

Description

数据储存装置、存储器控制器及其数据管理方法
技术领域
本发明涉及一种数据管理方法,且特别是关于一种减少非易失性存储器读取次数且增进数据读取速率的数据管理方法,以及所对应的数据储存装置及存储器控制器。
背景技术
非易失性存储器(non-volatile memory)为一种电子式存储器装置,其具有不需额外电力维持信息、快速数据读取以及抗震等能力,因此被广泛的应用于记忆卡、固态硬盘以及可携式多媒体装置等。当储存于非易失性存储器中的数据被多次重复读取时,非易失性存储器可能会出现读取扰动(read disturbance)的情况,进而导致储存数据不正确,因此非易失性存储器在此时就必须进行刷新(refresh),然而非易失性存储器进行刷新将会影响到其使用寿命。
发明内容
为了解决上述的缺憾,本发明提出一种数据管理方法,以及对应的数据储存装置与存储器控制器,以减少非易失性存储器的读取次数,并增进数据读取效率。
本发明提出一种数据储存装置的数据管理方法实施例,其步骤包括:接收读取指令;当读取指令对应的目标数据储存于非易失性存储器,由非易失性存储器中读取包含目标数据的数据页;判断数据页的读取次数是否大于读取阈值;当判断为否,储存至少一后续数据至数据暂时储存装置的第一储存空间;以及当判断为是,储存至少一后续数据至数据暂时储存装置的第二储存空间;其中,目标数据与至少一后续数据皆储存于数据页,且目标数据与至少一后续数据在数据读取上有前后的关系。
本发明提出另一种数据储存装置的数据管理方法实施例,其步骤包括:接收读取指令;根据读取指令由非易失性存储器读取包含目标数据的数据页;判断数据页的读取次数是否大于读取阈值;当判断为否,纪录至少一后续数据至数据暂时储存装置的第一储存空间;以及当判断为是,纪录至少一后续数据至数据暂时储存装置的第二储存空间;其中,目标数据与至少一后续数据皆储存于数据页,且目标数据与至少一后续数据在数据读取上有前后的关系。
本发明并提出一种用于数据管理方法的数据储存装置实施例,其包括:非易失性存储器、数据暂时储存装置以及存储器控制器。数据暂时储存装置包括第一储存空间以及第二储存空间,存储器控制器与非易失性存储器以及数据暂时储存装置电性耦接,存储器控制器是用于接收对应目标数据的读取指令,当目标数据储存于非易失性存储器,存储器控制器由非易失性存储器读取包含目标数据的数据页,存储器控制器并判断数据页的读取次数是否大于读取阈值,当判断为否,存储器控制器储存至少一后续数据至数据暂时储存装置的第一储存空间,当判断为是,存储器控制器储存至少一后续数据至数据暂时储存装置的第二储存空间,其中,目标数据与至少一后续数据皆储存于数据页,且目标数据与至少一后续数据在数据读取上有前后的关系。
本发明并提出一种用于数据管理方法的存储器控制器实施例,其包括:第一通讯接口、第二通讯接口、第三通讯接口以及微处理器。第一通讯接口用于与非易失性存储器通讯以存取非易失性存储器,第二通讯接口用于与数据暂时储存装置通讯以存取数据暂时储存装置的第一储存空间以及第二储存空间,第三通讯接口用于与主机通讯以接收来自主机的读取指令,微处理器与第一通讯接口、第二通讯接口以及第三通讯接口电性耦接,微处理器用于根据读取指令由非易失性存储器读取包含目标数据的数据页,微处理器并用于判断数据页的读取次数是否大于读取阈值,当判断为否,微处理器纪录至少一后续数据至数据暂时储存装置的第一储存空间,当判断为是,微处理器纪录至少一后续数据至数据暂时储存装置的第二储存空间,其中,目标数据与至少一后续数据储存于数据页,且目标数据与至少一后续数据在数据读取上有前后的关系。
综上所述,由于本发明可根据数据页的读取次数与读取阈值的关系而将后续数据储存于不同的储存空间,因此读取次数大于读取阈值的数据页所对应的数据不会频繁的被读取次数等于或小于读取阈值的数据页所取代,而由数据暂时储存装置中移除。此外,读取次数大于读取阈值代表此数据页相较于其他数据页更频繁的被读取,因此提高由数据暂时储存装置读取对应数据的次数,更可有效减少由非易失性存储器读取数据的次数,以达到延长非易失性存储器使用寿命的目的。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举优选实施例,并配合附图,详细说明如下。
附图说明
图1为本发明的数据储存装置实施例示意图。
图2A为本发明的数据管理方法流程实施例一示意图。
图2B为本发明的第一储存空间数据管理方法流程实施例一示意图。
图2C为本发明的第二储存空间数据管理方法流程实施例一示意图。
图2D为本发明的数据预先读取方法流程实施例一示意图。
图3A为本发明的数据页实施例示意图。
图3B为本发明的数据暂时储存装置储存实施例一的示意图。
图3C为本发明的数据暂时储存装置储存实施例一的另一示意图。
图3D为本发明的数据暂时储存装置储存实施例二的示意图。
图3E为本发明的数据暂时储存装置储存实施例二的另一示意图。
图4A为数据管理方法实施例示意图。
图4B为本发明的数据管理方法实施例示意图。
具体实施方式
请参考图1,图1为本发明的数据储存装置实施例示意图。数据储存装置10用于与外部主机20通讯,并根据主机20所发送的读取指令读取储存于数据储存装置10的数据,所述数据可以是用于显示的影像数据或者为音频数据等,所述主机20可以为台式计算机或平板计算机等电子装置。数据储存装置10包括存储器控制器11、非易失性存储器12以及数据暂时储存装置13。存储器控制器11与主机20、非易失性存储器12以及数据暂时储存装置13电性耦接。非易失性存储器12包含多个数据区块(block),每一数据区块包括多个数据页(page),每一数据页用于储存所述数据。非易失性存储器12例如为闪存(flash memory) 、磁阻式随机存取存储器(magnetoresistive RAM)、相变存储器(phase-change memory)、或铁电随机存取存储器(ferroelectric RAM)等具有长时间数据保存的数据储存媒体。数据暂时储存装置13则包括用于暂存所述数据的第一储存空间131以及第二储存空间132,数据暂时储存装置13例如为动态随机存取存储器(dynamic random access memory, DRAM),但不以此为限。存储器控制器11包括第一通讯接口111、第二通讯接口112、第三通讯接口113以及微处理器114。微处理器114与第一通讯接口111、第二通讯接口112以及第三通讯接口113电性耦接。存储器控制器11可藉由第一通讯接口111与非易失性存储器12通讯并存取非易失性存储器12。存储器控制器11可藉由第二通讯接口112与数据暂时储存装置13通讯并存取数据暂时储存装置13。存储器控制器11可藉由第三通讯接口113与主机20通讯。此外,上述的第一通讯接口111例如为开放式NAND闪存接口(open NAND flash interface,ONFI)或Toggle。上述的第二通讯接口112例如为DFI接口(DDR PHY interface)。上述的第三通讯接口113例如为SATA接口(serial advanced technology attachment)、通用串行总线(universal serial bus, USB)、快捷外设互联标准(peripheral componentinterconnect (PCI) Express)、序列式小型计算机系统接口(serial attached SCSI,SAS)、通用闪存储存装置(universal flash storage,UFS)、多媒体记忆卡(embededmultimedia card,eMMC)以及SDIO接口(secure digital input/output)。
为了提供较佳的数据储存装置10的系统效能并减少非易失性存储器12被读取的次数,本发明揭露一种数据管理方法,将非易失性存储器12中对应读取指令而被读取的目标数据的后续数据预先储存至数据暂时储存装置13,如此一来,当主机20发出对应后续数据的读取指令时,数据储存装置10可以快速地响应主机20的读取指令,使数据储存装置10的系统效能提升。以下将配合图1、2A、2B、2C、2D、3A、3B、3C、3D以及3E来说明本发明的数据管理方法实施例,为了简化说明,非易失性存储器12包含复数个数据页,例如图3A所示的数据页P1到数据页P12以及其他数据页(省略)。每一数据页包含3个区段(sector),区段为数据储存的最小单位,也是数据寻址(addressing)的依据。每一区段的大小对应至一个逻辑数据区块地址(logical block address,LBA)的大小,每一LBA的大小较佳为512字节(byte)。然而,使用者可依据其实际需求而设定每个数据页的大小,例如:4096字节或8192字节,或设定每一数据页所包含的区段的数目,例如8个区段或32个区段,或设定每一LBA的大小,例如:1024字节或4096字节,技术上而言皆为可行,故不以此为限。另外,为了数据管理的方便性,数据暂时储存装置13包括第一储存空间131以及第二储存空间132,第一储存空间131以及第二储存空间132分别用于储存不常用以及常用的数据。
以下将以非易失性存储器12储存有四个档案为例进行说明,每一个档案被予以一个特定的档案标识符(File ID)。由于每一个档案都有一个特定的档案标识符,微处理器114依据此档案标识符记录特定档案的所有数据页的起始地址;或者,储存特定档案的第一个数据页的起始地址,再藉由第一个数据页的内容得知后续数据页的起始地址,直到找到档案结束的符号。一般而言,档案通常为不连续储存,然而,制造商可事先将每一个档案依序并连续地储存至数据暂时储存装置13,在此情况下,每一个档案的所有数据页为相邻且依序储存。由于起始地址已知,依据每一数据在每一数据页的相对地址即能得知每一数据的绝对地址。
请先参考图2A,图2A为本发明的数据管理方法实施例一,图3A为数据页实施例示意图,如图3A所示,档案a储存于数据页P1、P2以及P3。数据页P1、P2以及P3为相邻的数据页且数据页P2以及P3为数据页P1的后续数据页。数据页P1包含3笔数据,即数据a11、a12及a13,数据a12及a13为数据a11的后续数据;数据页P2包含3笔数据,即数据a21、a22及a23,数据a22及a23为数据a21的后续数据;数据页P3包含3笔数据,即数据a31、a32及a33,数据a32及a33为数据a31的后续数据。档案b储存于数据页P4、P5以及P6。数据页P4、P5以及P6为相邻的数据页且数据页P5以及P6为数据页P4的后续数据页。数据页P4包含3笔数据,即数据b11、b12及b13,数据b12及b13为数据b11的后续数据;数据页P5包含3笔数据,即数据b21、b22及b23,数据b22及b23为数据b21的后续数据;数据页P6包含3笔数据,即数据b31、b32以及b33,数据b22及b23为数据b31的后续数据。档案c储存于数据页P7、P8以及P9。数据页P7、P8以及P9为相邻的数据页且数据页P8以及P9为数据页P7的后续数据页。数据页P7包含3笔数据,即数据c11、c12及c13,数据c12及c13为数据c11的后续数据;数据页P8包含3笔数据,即数据c21、c22及c23,数据c22及c23为数据c21的后续数据;数据页P9包含3笔数据,即数据c31、c32及c33,数据c32及c33为数据c31的后续数据。档案d储存于数据页P10、P11以及P12。数据页P10包含3笔数据,即数据d11、d12及d13,数据d12及d13为数据d11的后续数据;数据页P11包含3笔数据,即数据d21、d22及d23,数据d22及d23为数据d21的后续数据;数据页P12包含3笔数据,即数据d31、d32及d33,数据d32及d33为数据d31的后续数据。
首先,步骤S201,接收读取指令。当图1所述的主机20欲读取数据储存装置10所储存的目标数据,例如为图3A的数据a11时,主机20会发送上述的读取指令至数据储存装置10,数据储存装置10的微处理器114透过第三通讯接口113接收到主机20所传送的读取指令。
步骤S203,判断读取指令所对应的目标数据是否储存于数据暂时储存装置13中。微处理器114接收到读取指令后,会根据读取指令所包含的地址信息得到目标数据的储存地址,并根据储存地址至非易失性存储器12或数据暂时储存装置13的第一储存空间131或第二储存空间132读取对应的目标数据。如果步骤S203判断为是则执行步骤S227;如果步骤S203判断为否则执行步骤S205。其中,数据暂时储存装置13较佳为动态随机存取存储器(dynamic random access memory,DRAM),亦可为静态随机存取存储器(static randomaccess memory,SRAM)等平均读取速度优于非易失性存储器12的数据缓存器或数据缓冲器。假设档案a的数据a11仅储存于非易失性存储器12,并未储存于数据暂时储存装置13,因此,执行步骤S205。
步骤S205,读取包含目标数据的数据页,将目标数据回传主机20。微处理器114根据读取指令所对应的储存地址而至非易失性存储器12读取储存于数据页P1的数据a11,微处理器114并透过第三通讯接口113将数据a11回传至主机20。
步骤S206,增加包含目标数据的数据页的读取次数。微处理器114增加所述数据a11所对应的数据页P1的读取次数,所述读取次数为数据页P1被微处理器114读取的次数,读取次数可储存于所述数据暂时储存装置13,但不以此为限。例如:数据页P1所储存的任一数据因为读取指令而被读取时,微处理器114将数据页P1所对应的读取次数增加1,但不以此为限。使用者可依实际的需求而调整步骤S206的位置,例如,将步骤S206置于步骤S213及步骤S219之后,一样可以达到本发明的目的。
步骤S207,判断读取次数是否大于读取阈值。微处理器114接着判断目标数据所对应的数据页的读取次数是否大于读取阈值,此读取阈值即为读取次数的阈值,例如为50,当步骤S207判断为否,这表示目标数据或目标数据所对应的数据页所储存的后续数据并不是常用数据,因此,读取次数较小使的读取次数小于读取阈值,因此执行步骤S213,储存数据于第一储存空间131;反之,当步骤S207判断为是,这表示目标数据或目标数据所对应的数据页所储存的数据为常用数据,故其读取次数大于读取阈值,因此执行步骤219,储存数据于第二储存空间132。最后,结束本发明的数据管理方法流程,或回到步骤S201。
为了有效率地管理第一储存空间131的空间,本发明的第一储存空间数据管理方法包括步骤S213以及其他的步骤。如图2B所示,首先,执行步骤S209,判断第一储存空间131是否有足够空间。由于在步骤S207时判断为否,因此微处理器114准备将对应目标数据的后续数据储存至第一储存空间131,在微处理器114将后续数据储存至第一储存空间131前,微处理器114先判断第一储存空间131目前是否有足够的空间来储存后续数据,例如:判断第一储存空间131中的储存地址是否皆已储存数据。其中,后续数据与目标数据较佳储存于同一个数据页中,且后续数据与目标数据于非易失性存储器12中的储存地址为连续,以图3A为例,若数据页P1的数据a11为所述的目标数据,则后续数据可为单笔数据,例如:数据a12或a13;后续数据亦为多笔数据,例如:数据a12以及a13,当步骤S209判断为否,进行步骤S211,反之,进行步骤S213。
步骤S211,移除第一储存空间131的旧数据。当步骤S209判断为否,也就是第一储存空间131没有足够空间储存后续数据,因此微处理器114移除原本第一储存空间131中的数据(即旧数据)并储存后续数据至第一储存空间131,其中,移除第一储存空间131的数据量较佳等于后续数据的数据量。例如第一储存空间131已储存有数据页P2、P3、P4以及P5。数据页P2所对应的读取次数为51,数据页P3所对应的读取次数为52,数据页P4所对应的读取次数为53,数据页P5所对应的读取次数为54。为了将数据页P1的后续数据储存至第一储存空间131中,微处理器114会删除读取次数最小的数据页P2,使第一储存空间131具有足够的空间来储存数据页P1,如图3B以及图3C所示,数据页P1储存至删除数据页P2所释放的储存空间。此外,在此步骤中,微处理器114并同时将数据页P2的所有数据的储存地址更新为非易失性存储器12中的储存地址,而数据页P2的读取次数将继续进行累计。被删除的数据页P2的其中之一数据若被读取时,微处理器114将根据纪录的储存地址由非易失性存储器12中读取数据,并根据储存于数据暂时储存装置13中的读取次数继续计数数据页P2的读取次数。
步骤S213,储存数据于第一储存空间131。当步骤S209判断为是或者完成步骤S211时,也就是当前第一储存空间131仍有足够空间储存剩余数据,因此微处理器114将数据储存至第一储存空间131中,完成步骤S213后,微处理器114回到步骤S201,继续等待下一个读取指令。
为了有效率地管理第二储存空间的空间,本发明的第二储存空间数据管理方法包括步骤S219以及其他的步骤。如图2C所示,首先,执行步骤S215,判断第二储存空间132是否有足够空间。当步骤S207判断为是,也就是目标数据所对应的数据页P1的读取次数超过了读取阈值,因此微处理器114会准备将数据页P1中的后续数据储存至第二储存空间132中。在微处理器114将后续数据储存至第二储存空间132前,微处理器114会先判断第二储存空间132是否具有足够的储存空间来储存后续数据。当在步骤S215判断为否,进行步骤S217,反之,进行步骤S219。
步骤S217,移除第二储存空间132的旧数据。由于在此步骤中,第二储存空间132已没有足够空间来储存后续数据,因此,微处理器114会移除第二储存空间132所储存的数据(即旧数据),例如移除具有最小读取次数的数据页的所有数据,如上述的步骤S211。
步骤S219,储存数据于第二储存空间132。由于第二储存空间132具有足够的储存空间,因此微处理器114将后续数据储存至第二储存空间132中。
在执行完步骤S219后,除了可以结束程序的执行之外,亦可执行步骤S221以达到避免过于频繁的将数据储存至数据暂时储存装置13的第二储存空间132的目的。
步骤S221,判断数据是否储存至第二储存空间132的最后地址。微处理器114判断第二储存空间132是否所有地址都已经储存了数据,其判断的依据为后续数据是否储存至最后一个地址。例如地址00、01、10以及11皆已储存了数据页,且在上述步骤S219中后续数据储存至第二储存空间132的最后一个地址11中。当判断结果为是,进行步骤S223,反之,进行步骤S225。
步骤S223,更新读取阈值。微处理器114将上述的读取阈值与一个默认值相加以更新读取阈值,默认值的数值可为任一自然数,较佳为正整数,例如为50,但不以此为限。若当前读取阈值为50,加上此默认值50后读取阈值将被更新为100,这表示当某一数据页被读取超过100次时,微处理器114才会再度将此数据页的后续数据储存至数据暂时储存装置13的第二储存空间132,之后,结束程序的执行或回到步骤201。
步骤S225,增加读取阈值。当步骤S221判断为否,也就是后续数据并非储存至第二储存空间132的最后一个地址,因此微处理器114将读取阈值增加一个累数值,例如加1,但不以此为限,以增加读取阈值,若当前读取阈值为50,与1相加后读取阈值会被更新为51,因此当目标数据的数据页被读取超过51次后,微处理器114才会将含有目标数据的数据页的后续数据储存至第二储存空间132,之后,结束程序的执行或回到步骤S201,等待下一读取指令。其中,步骤S223以及S225的目的在于,藉由储存数据后增加或更新上述读取阈值的数值的方式来避免发生同时有多笔数据页的读取次数符合上述条件而需要储存至第二储存空间132,使微处理器114需花费一段时间移除第二储存空间132所储存的数据以及将后续数据储存至第二储存空间132的情况,此外,更可延长同笔数据储存于第二储存空间132的时间,增加数据由第二储存空间132读取的机会,可有效减少非易失性存储器12被读取的次数,另外,上述的默认值大于上述的累数值的目的在于,当第二储存空间132的所有地址皆储存了数据时,藉由较大的默认值更大幅减少第二储存空间132移除/储存数据的次数,增加当前数据储存于第二储存空间132的时间。
当步骤S203的判断结果为是时,则执行步骤S227,由数据暂时储存装置13读取对应的数据页以及目标数据。由于读取指令欲读取的目标数据已储存在数据暂时储存装置13的第一储存空间131或第二储存空间132,微处理器114即根据储存地址至第一储存空间131或第二储存空间132读取目标数据并回传主机20,结束程序的执行或回到步骤S201,继续等待下一个读取指令。
在其他实施例中,微处理器114亦可同时将目标数据以及后续数据储存至第一储存空间131或第二储存空间132,不储存目标数据至数据暂时储存装置13的优点是可以节省数据暂时储存装置13的空间使用量;相反的,储存目标数据至数据暂时储存装置13的优点是当目标数据被重复读取时,微处理器114可以直接从数据暂时储存装置13回传目标数据至主机20,增加数据读取的效能。使用者可依据其实际需求而选择不同的实施方式,并不以此为限。
在其他实施例中,步骤S205可变更为读取包含目标数据的数据页以及后续数据页,例如:包括数据页P1及P2,并将步骤S206变更为增加包含目标数据的数据页以及后续数据页的读取次数。在此实施例中,由于读取的数据报含后续数据页,因此,在执行步骤S211或S217时需删除比其他实施例更多的数据以容纳包含目标数据的数据页以及后续数据页的数据,如图3D以及3E所示。
为了加速数据读取的效率,本发明的数据预先读取方法包括步骤S227以及其他的步骤。请参考图2D,图2D为本发明的数据预先读取方法流程实施例一示意图,如果图2D与图2A中的步骤具有相同编号,则为相同步骤。
步骤S229,判断储存于数据暂时储存装置13的剩余数据的数据量是否大于数据阈值,其中,剩余数据为部份的后续数据且目标数据与后续数据在数据读取上有前后的关系,并由于后续数据的第一笔数据可能为下一个读取指令的目标数据,在下一个读取指令期间,后续数据减去目标数据等于剩余数据,依此类推。完成上述的步骤S227后,在本实施例中接着进行步骤S229,假设数据阈值是一个区段,目标数据为数据a11,当数据a11因为读取指令被传送至主机20,后续数据,包括数据a12以及a13,被储存至数据暂时储存装置13。在下一个读取指令期间,步骤S227执行时,目标数据已更新为数据a12且目标数据被传送至主机20,因此,储存于数据暂时储存装置13且尚未传送至主机20的剩余数据仅剩下数据a13,其仅为一个区段大小而不大于数据阈值,因此,步骤S229的判断结果为否,故执行步骤S231。相反的,如果步骤S229的判断结果为是则回到步骤S201等待下一个读取指令。在另一实施例中,阈值可为数据量的大小,例如1024字节或其他数值,较佳为一个区段大小的整数倍。另外,剩余数据的数据量亦可由地址的差值来表示,例如,剩余数据的最大地址值减去最小地址值的值即为地址的差值,在此情况下,阈值较佳为小于数据页所包含的区段的数目,例如整数2,但不以此为限。
步骤S231,读取后续数据页,并增加后续数据页的读取次数。在步骤S229中,当微处理器114判断为否,也就是剩余数据的数据量小于或等于阈值,微处理器114依据档案标识符而取得目前数据页以及后续数据页的地址,依据后续数据页的地址即能从非易失性存储器12读取后续数据页,并增加后续数据页的读取次数;或者,微处理器114可以直接读取目前数据页的后续数据页(二个数据页为物理上相邻)并增加其读取次数,例如数据页P2,读取完后续数据页并增加其读取次数后,接着执行上述的步骤S207,以判断后续数据页储存至第一储存空间131或第二储存空间132。当数据a21、a22以及a23根据上述的步骤S207以及其后续步骤而储存至数据暂时储存装置13后,加上原本就已储存的数据a13,剩余数据的数据量变更为4个区段而大于阈值。最后,回到步骤S201等待下一个读取指令。在另一实施例中,步骤S231变更为读取后续多个数据页的数据,例如,数据页P2及P3。假设主机20欲读取连续数笔数据时,在步骤S231中读取后续多个数据页并根据上述图2A的步骤将后续多个数据页的数据储存至暂时储存装置13,除了可以降低微处理器114执行步骤S231的次数,亦可增加数据读取的效率。
接着以图4A以及4B再次说明本发明的数据管理方法实施例。接着请先参考图4A,图4A为未使用本发明的数据管理方法示意图,图中横轴为时间Time,组件符号401所指的为主机20藉由读取指令向存储器控制器11所要求的目标数据,组件符号402所指的为存储器控制器11根据读取指令储存至数据暂时储存装置13的数据(数据页),组件符号403所指的为由数据暂时储存装置13移除的数据(数据页)。此实施例中,并以数据暂时储存装置13具有七个数据页容量的储存容量为例来进行说明。当主机20在时间T1发出第一个读取指令,且为读取档案a的数据a11的读取指令时,存储器控制器11从非易失性存储器12读取数据页P1并将包括数据a11、a12以及a13的数据页P1储存至数据暂时储存装置13中。接着在时间T2,主机20发出了读取档案b的数据b11的读取指令,此时存储器控制器11仍在进行数据页P1的处理而无法处理此读取指令。直到时间T3,存储器控制器11从非易失性存储器12读取数据页P4并将包括数据b11、b12以及b13储存于数据暂时储存装置13中。在时间T3时,主机20发出了读取档案a的数据a12的读取指令,因此时数据页P1仅剩下数据a13尚未被读取,而为了增进数据读取速率,存储器控制器11读取后续数据页,即数据页P2,并将后续数据页所包括的数据a21、a22以及a23预先储存至数据暂时储存装置13中,但此时存储器控制器11正进行数据页P4的处理,因此直到时间T5,存储器控制器11才从非易失性存储器12读取后续数据页并将数据a21、a22以及a23储存于数据暂时储存装置13中。存储器控制器11并以相同方式根据数据b12的读取指令,于时间T7时由非易失性存储器12读取后续数据页,即数据页P5,并将后续数据页的数据b21、b22以及b23储存至数据暂时储存装置13中。在时间T7,存储器控制器11将根据读取档案c的数据c11的读取指令准备读取数据页P7并将数据页P7所包括的数据c11、c12以及c13储存至数据暂时储存装置13中,但此时存储器控制器11正进行数据页P5的处理,因此直到时间T9,存储器控制器11才从非易失性存储器12读取数据页P7并将数据c11、c12以及c13储存于数据暂时储存装置13中。在时间T10,存储器控制器11将根据读取档案d的数据d11的读取指令准备读取数据页P10并将数据页P10所包括的数据d11、d12以及d13储存至数据暂时储存装置13中,但此时存储器控制器11正进行数据页P7的处理,因此直到时间T11,存储器控制器11才从非易失性存储器12读取数据页P10并将数据d11、d12以及d13储存于数据暂时储存装置13中。在时间T11,存储器控制器11将根据读取档案c的数据c12的读取指令准备读取后续数据页,即数据页P8,并将后续数据页所包括的数据c21、c22以及c23储存至数据暂时储存装置13中,但此时存储器控制器11正进行数据页P10的处理,因此直到时间T13,存储器控制器11才从非易失性存储器12读取后续数据页并将数据c21、c22以及c23储存于数据暂时储存装置13中。在时间T12,存储器控制器11将根据读取档案a的数据a22的读取指令准备读取后续数据页,即数据页P3,并将后续数据页所包括的数据a31、a32以及a33储存至数据暂时储存装置13中,但此时存储器控制器11正进行数据页P10的处理,且尚有后续数据页等待被储存至数据暂时储存装置13中,因此直到时间T15,存储器控制器11才准备从非易失性存储器12读取后续数据页,然由于数据暂时储存装置13在此时点已经存满了七个数据页的数据量,即数据页P1、P4、P2、P5、P7、P10以及P8,因此存储器控制器11必须移除当前储存于数据暂时储存装置13的数据,例如数据页P1的数据,因此数据暂时储存装置13才具有足够的空间储存数据页P3的数据a31、a32以及a33。同样在时间T17,存储器控制器11准备将后续数据页,即数据页P6,以及其所包含的数据b31、b32以及b33储存至数据暂时储存装置13,然同时数据暂时储存装置13已经存满了七个数据页的数据量,因此存储器控制器11必须先移除数据,例如数据页P4的数据,存储器控制器11才能将数据页P6以及其所包含的数据b31、b32以及b33储存至数据暂时储存装置13中。同样的,在时间T19,存储器控制器11必须先移除数据页P2的数据,存储器控制器11才能将后续数据页,即数据页P11,以及其所包含的数据d21、d22以及d23储存至数据暂时储存装置13中。在时间T21时,主机20再次发出了读取档案b的数据b11的读取指令,但对应数据b11的数据页P4在时间T17被存储器控制器11由数据暂时储存装置13移除,因此当主机20在时间T21需要再次读取数据b11时,存储器控制器11需要再次从非易失性存储器12读取数据页P4,因而增加读取非易失性存储器12的次数。
接着请参考图4B,图4B为使用本发明的数据管理方法示意图。图中横轴为时间Time,其中,组件符号401所指的为主机20藉由读取指令向存储器控制器11所要求的目标数据,组件符号402a所指的为存储器控制器11根据读取指令储存至数据暂时储存装置13的第一储存空间131的多个数据页,组件符号402b所指的为存储器控制器11根据读取指令储存至数据暂时储存装置13的第二储存空间132的多个数据页,组件符号403所指的为由数据暂时储存装置13移除的数据以及数据页。此实施例中,数据暂时储存装置13例如具有七个数据页的储存容量,第一储存空间131具有五个数据页的储存容量,第二储存空间132具有二个数据页的储存容量,并以此为例来进行说明。图4A与4B中相同的时间组件符号指的是相同时点,例如图4A中的时间T1的时点与图4B的时间T1相同,以此类推其他相同的时间组件符号。
首先与图4A雷同,存储器控制器11根据主机20读取档案a的数据a11的读取指令从非易失性存储器12读取数据页P1,而由于数据页P1的读取次数在上述的步骤S207被判断为小于或等于读取阈值,因此存储器控制器11将数据页P1所包含的数据a11、a12以及a13储存至上述的第一储存空间131。在时间T3,存储器控制器11根据主机20读取档案b的数据b11的的读取指令从非易失性存储器12读取数据页P4,而由于数据页P4的读取次数在上述的步骤S207被判断为大于读取阈值,因此存储器控制器11将数据页P4所包含的数据b11、b12以及b13储存至上述的第二储存空间131。在时间T5时,与图4A相同,存储器控制器11准备根据数据a12的读取指令将后续数据页,即数据页P2,从非易失性存储器12预先储存至数据暂时储存装置13中,由于后续数据页在上述的步骤S207被判断为小于或等于读取阈值,因此存储器控制器11将数据页P2所包含的数据a21、a22以及a23储存至上述的第一储存空间131。在时间T7,存储器控制器11准备根据数据b12的读取指令将后续数据页,即数据页P5,从非易失性存储器12预先储存至数据暂时储存装置13中,由于后续数据页P5在上述的步骤S207被判断为大于读取阈值,因此存储器控制器11将数据页P5所包含的数据b21、b22以及b23储存至上述的第二储存空间131。接着存储器控制器11根据上述方式依序读取数据页P7、P10以及P8,且由于数据页P7、P10以及P8在上述的步骤S207中,被判断为小于或等于读取阈值,因此存储器控制器11将数据c11、c12、c13、d11、d12、d13、c21、c22以及c23储存至上述的第一储存空间131。在时间T15,第一储存空间131储存了数据页P1、P2、P7、P10以及P8,也就是说第一储存空间131在时间T15已储存了五个数据页容量的数据量,因此当时间T15,存储器控制器11根据主机20的读取指令读取数据a22的后续数据页,即数据页P3,且后续数据页于上述的步骤S207被判断为小于或等于读取阈值时,存储器控制器11需移除先前储存于第一储存空间131的数据页,例如为数据页P1后,才能将数据页P3储存于第一储存空间131。在时间T17,存储器控制器11根据主机20的读取指令读取数据b22的后续数据页,即数据页P6,且后续数据页的读取次数于上述的步骤S207被判断为小于或等于读取阈值时,存储器控制器11需移除先前储存于第一储存空间131的数据页,例如数据页P2后,才能将数据页P6储存于第一储存空间131。在时间T19,存储器控制器11根据主机20的读取指令读取数据d12的后续数据页,即数据页P11,且后续数据页的读取次数于上述的步骤S207被判断为小于或等于读取阈值时,存储器控制器11需移除先前储存于第一储存空间131的数据页,例如数据页P7后,才能将数据页P11储存于第一储存空间131。在时间T21时,存储器控制器11根据主机20的读取指令读取数据b11时,相较于图4A的实施例需要再次由非易失性存储器12中读取数据b11所对应的数据页P4,在本实施例中,存储器控制器11可直接由第二储存空间132读取数据b11,而不用再次由非易失性存储器12中读取数据b11,因此本实施例相较于图4A的实施例,可有效减少非易失性存储器11读取的次数。
本发明藉由数据页的读取次数区分为较常被读取的数据页以及较少被读取的数据页,并将较常被读取的数据页所对应的数据储存于特定空间,如上述的第二储存空间132,且藉由上述步骤S223以及S225,降低此特定空间的数据的移除/写入频率,增加数据储存于特定空间的时间,因此当较常被读取的数据(数据页)再次被读取时,存储器控制器11可直接由数据暂时储存装置13读取,而有效减少非易失性存储器被读取的次数。

Claims (32)

1.一种数据储存装置的数据管理方法,其特征在于,其步骤包括:
接收读取指令;
当所述读取指令对应的目标数据储存于非易失性存储器,由所述非易失性存储器中读取包含所述目标数据的数据页;
判断所述数据页的读取次数是否大于读取阈值;
当判断为否,储存至少一后续数据至数据暂时储存装置的第一储存空间;以及
当判断为是,储存至少一所述后续数据至所述数据暂时储存装置的第二储存空间;
其中,所述目标数据与至少一所述后续数据皆储存于所述数据页,且所述目标数据与至少一所述后续数据在数据读取上有前后的关系。
2.如权利要求1所述的数据管理方法,其特征在于,当判断为否,储存至少一所述后续数据至所述数据暂时储存装置的所述第一储存空间的步骤包括:
判断所述第一储存空间是否具有足够的储存空间;以及
当判断为否,移除所述第一储存空间的旧数据以储存至少一所述后续数据至所述数据暂时储存装置的所述第一储存空间。
3.如权利要求1所述的数据管理方法,其特征在于,当判断为是,储存至少一所述后续数据至所述数据暂时储存装置的所述第二储存空间的步骤包括:
判断所述第二储存空间是否具有足够的储存空间;以及
当判断为否,移除所述第二储存空间中的旧数据以储存至少一所述后续数据至所述数据暂时储存装置的所述第二储存空间。
4.如权利要求1所述的数据管理方法,其特征在于,当所述读取指令对应的所述目标数据储存于所述非易失性存储器,由所述非易失性存储器中读取包含所述目标数据的所述数据页的步骤更包括:
当所述目标数据储存于所述数据暂时储存装置,由所述第一储存空间或所述第二储存空间读取所述目标数据。
5.如权利要求1所述的数据管理方法,其特征在于,判断所述数据页的所述读取次数是否大于所述读取阈值的步骤更包括:
增加所述目标数据所对应的所述数据页的所述读取次数。
6.如权利要求4所述的数据管理方法,其特征在于,当所述目标数据储存于所述数据暂时储存装置,由所述第一储存空间或所述第二储存空间读取所述目标数据的步骤更包括:
判断储存于所述数据暂时储存装置的剩余数据的数据量是否大于数据阈值,其中,所述剩余数据为部份的至少一所述后续数据;
当判断为否,读取后续数据页;
判断所述后续数据页的所述读取次数是否大于所述读取阈值;
当判断为否,储存所述后续数据页的至少一所述后续数据至所述数据暂时储存装置的所述第一储存空间;以及
当判断为是,储存所述后续数据页的至少一所述后续数据至所述数据暂时储存装置的所述第二储存空间。
7.如权利要求6所述的数据管理方法,其特征在于,当判断为否,读取所述后续数据页的步骤更包括:
增加所述后续数据页的所述读取次数。
8.如权利要求1所述的数据管理方法,其特征在于,所述非易失性存储器包括多个数据区块,每一所述多个数据区块包括多个所述数据页,所述目标数据以及至少一所述后续数据储存于其中之一所述多个数据页。
9.一种数据储存装置的数据管理方法,其特征在于,其步骤包括:
接收读取指令;
根据所述读取指令由一非易失性存储器读取包含目标数据的数据页;
判断所述数据页的读取次数是否大于读取阈值;
当判断为否,纪录至少一后续数据至数据暂时储存装置的第一储存空间;以及
当判断为是,纪录至少一所述后续数据至所述数据暂时储存装置的第二储存空间;
其中,所述目标数据与至少一所述后续数据皆储存于所述数据页,且所述目标数据与至少一所述后续数据在数据读取上有前后的关系。
10.如权利要求9所述的数据管理方法,其特征在于,当判断为否,纪录至少一所述后续数据至所述数据暂时储存装置的所述第一储存空间的步骤包括:
判断所述第一储存空间是否具有足够的储存空间;以及
当判断为否,移除所述第一储存空间的旧数据以纪录至少一所述后续数据至所述数据暂时储存装置的所述第一储存空间。
11.如权利要求9所述的数据管理方法,其特征在于,当判断为是,纪录至少一所述后续数据至所述数据暂时储存装置的所述第二储存空间的步骤包括:
判断所述第二储存空间是否具有足够的储存空间;以及
当判断为否,移除所述第二储存空间中的旧数据以纪录至少一所述后续数据至所述数据暂时储存装置的所述第二储存空间。
12.如权利要求9所述的数据管理方法,其特征在于,根据所述读取指令由所述非易失性存储器读取包含所述目标数据的所述数据页的步骤更包括:
根据所述读取指令由所述数据暂时储存装置的所述第一储存空间或所述第二储存空间读取所述目标数据。
13.如权利要求9所述的数据管理方法,其特征在于,判断所述数据页的所述读取次数是否大于所述读取阈值的步骤更包括:
增加所述目标数据所对应的所述数据页的所述读取次数。
14.如权利要求12所述的数据管理方法,其特征在于,根据所述读取指令由所述数据暂时储存装置的所述第一储存空间或所述第二储存空间读取所述目标数据的步骤更包括:
判断储存于所述数据暂时储存装置的剩余数据的数据量是否大于数据阈值,其中,所述剩余数据为部份的至少一所述后续数据;
当判断为否,读取后续数据页;
判断所述后续数据页的所述读取次数是否大于所述读取阈值;
当判断为否,纪录所述后续数据页的至少一所述后续数据至所述数据暂时储存装置的所述第一储存空间;以及
当判断为是,纪录所述后续数据页的至少一所述后续数据至所述数据暂时储存装置的所述第二储存空间。
15.如权利要求14所述的数据管理方法,其特征在于,当判断为否,读取所述后续数据页的步骤更包括:
增加所述后续数据页的所述读取次数。
16.如权利要求9所述的数据管理方法,其特征在于,所述非易失性存储器包括多个数据区块,每一所述多个数据区块包括多个所述数据页,所述目标数据以及至少一所述后续数据储存于其中之一所述多个数据页。
17.一种用于数据管理方法的数据储存装置,其特征在于,其包括:
非易失性存储器;
数据暂时储存装置,所述数据暂时储存装置包括第一储存空间以及第二储存空间;以及
存储器控制器,所述存储器控制器与所述非易失性存储器以及所述数据暂时储存装置电性耦接,所述存储器控制器用于接收对应目标数据的读取指令,当所述目标数据储存于所述非易失性存储器,所述存储器控制器由所述非易失性存储器读取包含所述目标数据的数据页,所述存储器控制器并判断所述数据页的读取次数是否大于读取阈值,当判断为否,所述存储器控制器储存至少一后续数据至所述数据暂时储存装置的所述第一储存空间,当判断为是,所述存储器控制器储存至少一所述后续数据至所述数据暂时储存装置的所述第二储存空间,其中,所述目标数据与至少一所述后续数据皆储存于所述数据页,且所述目标数据与至少一所述后续数据在数据读取上有前后的关系。
18.如权利要求17所述的数据储存装置,其特征在于,所述存储器控制器用于判断所述第一储存空间是否具有足够的储存空间,当判断为否,所述存储器控制器移除所述第一储存空间的旧数据以储存至少一所述后续数据至所述数据暂时储存装置的所述第一储存空间。
19.如权利要求17所述的数据储存装置,其特征在于,所述存储器控制器是用于判断所述第二储存空间是否具有足够的储存空间,当判断为否,所述存储器控制器移除所述第二储存空间中的旧数据以储存至少一所述后续数据至所述数据暂时储存装置的所述第二储存空间。
20.如权利要求17所述的数据储存装置,其特征在于,当所述目标数据储存于所述数据暂时储存装置,所述存储器控制器由所述第一储存空间或所述第二储存空间读取所述目标数据。
21.如权利要求17所述的数据储存装置,其特征在于,所述存储器控制器用于增加所述目标数据所对应的所述数据页的所述读取次数。
22.如权利要求17所述的数据储存装置,其特征在于,所述存储器控制器用于判断储存于所述数据暂时储存装置的剩余数据的数据量是否大于数据阈值,其中,所述剩余资料为部份的至少一所述后续数据,当判断为否,所述存储器控制器读取后续数据页,所述存储器控制器并判断所述后续数据页的所述读取次数是否大于所述读取阈值,当判断为否,所述存储器控制器储存所述后续数据页的至少一所述后续数据至所述数据暂时储存装置的所述第一储存空间,当判断为是,所述存储器控制器储存所述后续数据页的至少一所述后续数据至所述数据暂时储存装置的所述第二储存空间。
23.如权利要求22所述的数据储存装置,其特征在于,所述存储器控制器用于增加所述后续数据页的所述读取次数。
24.如权利要求17所述的数据储存装置,其特征在于,所述非易失性存储器包括多个数据区块,每一所述多个数据区块包括所述多个数据页,所述目标数据以及至少一所述后续数据储存于其中之一所述多个数据页。
25.一种用于数据管理方法的存储器控制器,其特征在于,其包括:
第一通讯接口,用于与一非易失性存储器通讯以存取所述非易失性存储器;
第二通讯接口,用于与数据暂时储存装置通讯以存取所述数据暂时储存装置的第一储存空间以及第二储存空间;
第三通讯接口,用于与主机通讯以接收来自所述主机的读取指令;以及
微处理器,与所述第一通讯接口、所述第二通讯接口以及所述第三通讯接口电性耦接,所述微处理器用于根据所述读取指令由所述非易失性存储器读取包含目标数据的数据页,所述微处理器并用于判断所述数据页的读取次数是否大于读取阈值,当判断为否,所述微处理器纪录至少一后续数据至所述数据暂时储存装置的所述第一储存空间,当判断为是,所述微处理器纪录至少一所述后续数据至所述数据暂时储存装置的所述第二储存空间,其中,所述目标数据与至少一所述后续数据储存于所述数据页,且所述目标数据与至少一所述后续数据在数据读取上有前后之关系。
26.如权利要求25所述的存储器控制器,其特征在于,所述微处理用于判断所述第一储存空间是否具有足够的储存空间,当判断为否,所述微处理移除所述第一储存空间的旧数据以纪录至少一所述后续数据至所述数据暂时储存装置的所述第一储存空间。
27.如权利要求25所述的存储器控制器,其特征在于,所述微处理是用于判断所述第二储存空间是否具有足够的储存空间,当判断为否,所述微处理移除所述第二储存空间中的旧数据以纪录至少一所述后续数据至所述数据暂时储存装置的所述第二储存空间。
28.如权利要求25所述的存储器控制器,其特征在于,所述微处理器用于根据所述读取指令由所述第一储存空间或所述第二储存空间读取所述目标数据。
29.如权利要求25所述的存储器控制器,其特征在于,所述微处理用于增加所述目标数据所对应的所述数据页的所述读取次数。
30.如权利要求25所述的存储器控制器,其特征在于,所述微处理用于判断纪录于所述数据暂时储存装置的剩余数据的数据量是否大于数据阈值,其中,所述剩余资料为部份的至少一所述后续数据,当判断为否,所述微处理读取后续数据页,所述微处理并判断所述后续数据页的所述读取次数是否大于所述读取阈值,当判断为否,所述微处理纪录所述后续数据页的至少一所述后续数据至所述数据暂时储存装置的所述第一储存空间,当判断为是,所述微处理储存所述后续数据页的至少一所述后续数据至所述数据暂时储存装置的所述第二储存空间。
31.如权利要求30所述的存储器控制器,其特征在于,所述微处理用于增加所述后续数据页的所述读取次数。
32.如权利要求25所述的存储器控制器,其特征在于,所述非易失性存储器包括多个数据区块,每一所述多个数据区块包括所述多个数据页,所述目标数据以及至少一所述后续数据储存于其中之一所述多个数据页。
CN201710077455.7A 2016-03-18 2017-02-14 数据储存装置、存储器控制器及其数据管理方法 Active CN107203476B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
TWTW105108490 2016-03-18
TW105108490A TWI585676B (zh) 2016-03-18 2016-03-18 資料儲存裝置、記憶體控制器及其操作方法
TW105125096A TWI592943B (zh) 2016-08-08 2016-08-08 資料儲存裝置、記憶體控制器及其資料管理方法
TWTW105125096 2016-08-08

Publications (2)

Publication Number Publication Date
CN107203476A true CN107203476A (zh) 2017-09-26
CN107203476B CN107203476B (zh) 2021-08-31

Family

ID=59847343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710077455.7A Active CN107203476B (zh) 2016-03-18 2017-02-14 数据储存装置、存储器控制器及其数据管理方法

Country Status (2)

Country Link
US (1) US10353589B2 (zh)
CN (1) CN107203476B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958666A (zh) * 2018-07-26 2018-12-07 浪潮电子信息产业股份有限公司 一种数据处理方法及主控芯片

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721863A (en) * 1996-01-29 1998-02-24 International Business Machines Corporation Method and structure for accessing semi-associative cache memory using multiple memories to store different components of the address
CN1289968A (zh) * 2000-11-17 2001-04-04 后健慈 控制内存记忆页存取属性的方法及其架构
US20030028732A1 (en) * 2001-05-10 2003-02-06 Rosay Arnaud Sebastien Christophe Data processing system and a method of distributing accesses to memories
CN103631528A (zh) * 2012-08-21 2014-03-12 苏州捷泰科信息技术有限公司 用固态硬盘作为缓存器的读写方法、系统及读写控制器
US20140208061A1 (en) * 2013-01-22 2014-07-24 Lsi Corporation Locating data in non-volatile memory
US9069489B1 (en) * 2010-03-29 2015-06-30 Marvell Israel (M.I.S.L) Ltd. Dynamic random access memory front end
CN104793901A (zh) * 2015-04-09 2015-07-22 北京鲸鲨软件科技有限公司 一种存储装置及存储方法
US20160049204A1 (en) * 2014-08-13 2016-02-18 Kabushiki Kaisha Toshiba Memory system and method of controlling non-volatile memory

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008181380A (ja) * 2007-01-25 2008-08-07 Toshiba Corp メモリシステムおよびその制御方法
US7937521B2 (en) 2008-01-29 2011-05-03 Cadence Design Systems, Inc. Read disturbance management in a non-volatile memory system
TWI375953B (en) 2008-02-21 2012-11-01 Phison Electronics Corp Data reading method for flash memory, controller and system therof
US20100169708A1 (en) 2008-12-29 2010-07-01 John Rudelic Method and apparatus to profile ram memory objects for displacment with nonvolatile memory
WO2013030628A1 (en) * 2011-09-01 2013-03-07 Freescale Semiconductor, Inc. Integrated circuit device, memory interface module, data processing system and method for providing data access control
WO2013080299A1 (ja) * 2011-11-29 2013-06-06 富士通株式会社 データ管理装置、データコピー方法、およびプログラム
TWI461913B (zh) 2011-11-30 2014-11-21 Silicon Motion Inc 快閃記憶裝置及其資料讀取方法
JP5815388B2 (ja) 2011-12-02 2015-11-17 株式会社メガチップス メモリアクセス制御装置および方法
KR102164630B1 (ko) 2013-06-28 2020-10-12 삼성전자주식회사 메모리 컨트롤러 및 상기 메모리 컨트롤러의 동작 방법
CN105095116B (zh) 2014-05-19 2017-12-12 华为技术有限公司 缓存替换的方法、缓存控制器和处理器
US9361182B2 (en) * 2014-05-20 2016-06-07 Transcend Information, Inc. Method for read disturbance management in non-volatile memory devices
US9760478B2 (en) 2014-12-02 2017-09-12 Macronix International Co., Ltd. Read leveling method and memory device using the same
KR20160148952A (ko) * 2015-06-17 2016-12-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US20170075812A1 (en) * 2015-09-16 2017-03-16 Intel Corporation Technologies for managing a dynamic read cache of a solid state drive

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721863A (en) * 1996-01-29 1998-02-24 International Business Machines Corporation Method and structure for accessing semi-associative cache memory using multiple memories to store different components of the address
CN1289968A (zh) * 2000-11-17 2001-04-04 后健慈 控制内存记忆页存取属性的方法及其架构
US20030028732A1 (en) * 2001-05-10 2003-02-06 Rosay Arnaud Sebastien Christophe Data processing system and a method of distributing accesses to memories
US9069489B1 (en) * 2010-03-29 2015-06-30 Marvell Israel (M.I.S.L) Ltd. Dynamic random access memory front end
CN103631528A (zh) * 2012-08-21 2014-03-12 苏州捷泰科信息技术有限公司 用固态硬盘作为缓存器的读写方法、系统及读写控制器
US20140208061A1 (en) * 2013-01-22 2014-07-24 Lsi Corporation Locating data in non-volatile memory
US20160049204A1 (en) * 2014-08-13 2016-02-18 Kabushiki Kaisha Toshiba Memory system and method of controlling non-volatile memory
CN104793901A (zh) * 2015-04-09 2015-07-22 北京鲸鲨软件科技有限公司 一种存储装置及存储方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
REN-SHUO LIU等: "DuraCache: A durable SSD cache using MLC NAND flash", 《DAC "13: PROCEEDINGS OF THE 50TH ANNUAL DESIGN AUTOMATION CONFERENCE》 *
吴英杰: "高速缓存参数无关的高效算法", 《福建电脑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958666A (zh) * 2018-07-26 2018-12-07 浪潮电子信息产业股份有限公司 一种数据处理方法及主控芯片

Also Published As

Publication number Publication date
US20170269835A1 (en) 2017-09-21
US10353589B2 (en) 2019-07-16
CN107203476B (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
US20230315290A1 (en) Namespaces allocation in non-volatile memory devices
EP2631916B1 (en) Data deletion method and apparatus
US9304904B2 (en) Hierarchical flash translation layer
US11354236B2 (en) Garbage collection method for data storage device
US20080195833A1 (en) Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit
US20090077306A1 (en) Optimizing memory operations in an electronic storage device
CN1658171A (zh) 通过控制频繁受访问扇区对非易失性存储器的更快写操作
WO2017172248A1 (en) Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device
KR20090081657A (ko) 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법
US10503425B2 (en) Dual granularity dynamic mapping with packetized storage
US11269783B2 (en) Operating method for data storage device
US9483181B2 (en) Data storage device and operating method thereof
CN106598504B (zh) 数据存储方法及装置
CN111880723A (zh) 数据储存装置与数据处理方法
CA2987731C (en) Database memory monitoring and defragmentation of database indexes
US11055004B2 (en) Data storage device and control method for non-volatile memory
US9552289B1 (en) Bitwise addressing of entries in a forward lookup table
CN109408416B (zh) 一种地址映射表项页管理方法及装置
CN107203476A (zh) 数据储存装置、存储器控制器及其数据管理方法
CN110990301A (zh) 多plane存储介质的顺序读方法及相关装置
CN110515562A (zh) 一种磁盘访问方法及装置
TWI592943B (zh) 資料儲存裝置、記憶體控制器及其資料管理方法
CN107704195A (zh) 数据储存装置、存储器控制器及其数据管理方法
CN113900591A (zh) 延长存储器寿命的方法、装置、电子设备及存储介质
US11409665B1 (en) Partial logical-to-physical (L2P) address translation table for multiple namespaces

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