CN109426445B - 用以优化数据储存装置的数据储存方法及其数据储存装置 - Google Patents

用以优化数据储存装置的数据储存方法及其数据储存装置 Download PDF

Info

Publication number
CN109426445B
CN109426445B CN201810208664.5A CN201810208664A CN109426445B CN 109426445 B CN109426445 B CN 109426445B CN 201810208664 A CN201810208664 A CN 201810208664A CN 109426445 B CN109426445 B CN 109426445B
Authority
CN
China
Prior art keywords
controller
queue
read
data storage
random
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
Application number
CN201810208664.5A
Other languages
English (en)
Other versions
CN109426445A (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
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN109426445A publication Critical patent/CN109426445A/zh
Application granted granted Critical
Publication of CN109426445B publication Critical patent/CN109426445B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种数据储存装置,具有一快闪存储器以及一控制器。快闪存储器用以储存至少一数据。控制器耦接该快闪存储器,用以接收来自一主机所传送的至少一读取指令,并且依据该读取指令读取该快闪存储器所储存的该数据。该控制器判断该读取指令的长度是否大于一第一预设值,如果该长度大于该第一预设值,则该控制器将该读取指令配置于一连续伫列,如果该长度并未大于该第一预设值,则该控制器将该读取指令配置于一随机伫列,并且该控制器优先执行该随机伫列中的该读取指令。

Description

用以优化数据储存装置的数据储存方法及其数据储存装置
技术领域
本发明有关于一用以检测数据储存装置的数据储存方法及其数据储存装置,特别有关于一种藉由随机伫列与连续伫列,分别处理不同长度的读取指令的数据储存装置与数据储存方法。
背景技术
快闪存储器为一种普遍的非挥发性数据储存装置,是以电性方式抹除与程式化。以非与非门型的快闪存储器(NAND FLASH)为例,常用作记忆卡(memory card)、通用串行总线闪存装置(USB flash device)、固态硬碟(SSD)、嵌入式快闪存储器模组(eMMC)、通用快闪存储器(UFS)…等使用。
主机会对数据储存装置传送各种不同长度的读取指令。数据储存装置处理不同长度的读取指令所需的时间并不相同,因此而影响到数据储存装置存取数据的速度以及效率。因此,需要一种能够有效率的数据储存方法,能够对于不同长度的读取指令进行排序以及优化处理,以确保数据存取的效能与可靠度。
发明内容
为了解决上述问题,本发明提出一种用以检测读取指令的长度的数据储存方法及其数据储存装置,并且据以将读取指令配置于随机伫列或是连续伫列。详细而言,数据储存装置系优先执行随机伫列中的读取指令,并且以表格化方式及时且动态更新随机伫列与连续伫列的状况,以有效确保数据存取的效能与可靠度。
本发明的一实施例提供了一种数据储存装置,具有一快闪存储器以及一控制器。快闪存储器用以储存至少一数据。控制器耦接该快闪存储器,用以接收来自一主机所传送的至少一读取指令,并且依据该读取指令读取该快闪存储器所储存的该数据。该控制器判断该读取指令的长度是否大于一第一预设值,如果该长度大于该第一预设值,则该控制器将该读取指令配置于一连续伫列,如果该长度并未大于该第一预设值,则该控制器将该读取指令配置于一随机伫列,并且该控制器优先执行该随机伫列中的该读取指令。
本发明的一实施例提供了一种用于优化数据储存装置的数据储存方法,数据储存装置具有一快闪存储器、一控制器以及一随机存取存储器。快闪存储器包括多个储存矩阵(plane),并且这些储存矩阵的每一者包括多个区块(block),这些多矩阵的每一者分别藉由一通道耦接该控制器,该快闪存储器储存至少一数据。上述数据储存方法包括:接收来自一主机所传送的至少一读取指令,其中该读取指令用以读取该快闪存储器所储存该数据;判断该读取指令的长度是否大于一第一预设值,如果该长度大于该第一预设值,则该控制器将该读取指令配置于一连续伫列,如果该长度并未大于该第一预设值,则该控制器将该读取指令配置于一随机伫列;以及优先执行该随机伫列中的该读取指令。
关于本发明其他附加的特征与优点,此领域的技术人员,在不脱离本发明的精神和范围内,当可根据本案实施方法中所揭示的数据储存装置与数据储存方法。
附图说明
根据以下的详细说明并配合附图做完整揭露。应注意的是,根据本产业的一般作业,附图并未必按照比例绘制。事实上,可能任意的放大或缩小元件的尺寸,以做清楚的说明。
图1显示了根据本发明一实施例所述的数据储存装置与主机的示意图;
图2显示了根据本发明一实施例所述的数据储存方法的流程图;
图3显示了根据本发明另一实施例所述的数据储存方法的流程图;
图4显示了根据本发明一实施例所述的以表格储存读取指令及其相关资讯的示意图。
符号说明
100~数据储存装置;
120~控制器;
140~快闪存储器;
160-16N~储存矩阵;
160_A、160_Z…16N_A、16N_Z~区块;
160_A_1、160_Z_1…16N_A_X、16N_Z_X~页面;
180~随机存取存储器;
200~主机;
CE0、CE1~逻辑矩阵;
DT~表格;
#1…#6~读取指令;
RAM~随机存取存储器;
S200…S306~步骤。
具体实施方式
为让本发明的目的、特征和优点能更明显易懂,下文特举出本发明的具体实施例,并配合附图,作详细说明如下。目的在于说明本发明的精神而非用以限定本发明的保护范围,应理解下列实施例可经由软件、硬件、固件、或上述任意组合来实现。
图1显示了根据本发明一实施例所述的数据储存装置100与主机200的示意图。在一实施例中,数据储存装置100包括控制器120、快闪存储器140以及随机存取存储器(RAM)180。数据储存装置100耦接主机200以传送数据与指令、或是接收数据与指令。快闪存储器140可以为非挥发性存储器,例如与非门快闪存储器(NAND Flash)。数据储存装置100的例子可包含(但不限于):可携式记忆装置(诸如符合SD/MMC、CF、MS、XD或UFS标准的记忆卡)、固态硬碟(solid state drive,SSD)以及各种嵌入式(embedded)储存装置(诸如符合UFS或EMMC规格的嵌入式储存装置)。主机200可以为手机、平板电脑、笔记型电脑、导航机或车载系统等各种电子产品、或上述各种电子产品中的处理器。
如图1所示,控制器120耦接快闪存储器140以及随机存取存储器180。随机存取存储器180用以暂存以及快取控制器120所需的数据,或是用以暂存主机200要写入快闪存储器140的数据,以加快数据储存装置100的存取时间。控制器120藉由控制快闪存储器140以丛集(cluster)为单位执行读取运作的方式来对快闪存储器140执行读取运作。此外,控制器120耦接快闪存储器140以相互传送数据与指令或接收数据与指令。进一步而言,控制器120可包括具有固件码的只读存储器(ROM)以及微控制器,并且微控制器执行固件码以操作或是存取快闪存储器140。
快闪存储器140包括多个储存矩阵(plane)160~16N。上述储存矩阵的每一者分别藉由一通道(未显示)耦接控制器120。在一实施例中,每一储存矩阵160~16N的一部分区块组合成一超级区块(super block),使得快闪存储器140包括多个超级区块。详细而言,储存矩阵160~16N中的每一者还包括多个区块(block)。在另一实施例中,储存矩阵即为超级区块。举例而言,快闪存储器140具有4个超级区块(亦即CE0~CE3)。储存矩阵160包括区块160_A~160_Z,储存矩阵16N包括区块16N_A~16N_Z。对于储存矩阵160而言,区块160_A~160_Z中的每一者还包括多个页面。区块160_A包括页面160_A_1~160_A_X,区块160_Z包括页面160_Z_1~160_Z_X,并且每个页面的大小为N个位元组,其中N为大于1的正整数。
举例而言,储存矩阵160~164的每一者包括820的区块,上述区块的每一者包括256个页面,并且每个页面的大小为16K位元组(K-bytes)。此外,上述页面160_A_1~16N_Z_X为实体页面。控制器120在对快闪存储器140执行写入或储存动作时,是藉由控制快闪存储器140以实体页面为单位来执行写入或程式化的运作。
对于快闪存储器140而言,其页面160_A_1~16N_Z_X的每一者皆具有不同的实体地址。换言之,页面160_A_1~16N_Z_X的每一者都具有一个实体地址,而页面160_A_1~16N_Z_X的每一者的实体地址都是不同的。当数据储存装置100执行一写入运作时,控制器120决定快闪存储器140的一实体地址以写入或储存数据。此外,控制器120则分别对应上述多个实体地址至多个逻辑地址。因此,对于主机200而言,主机200藉由逻辑地址,来读取或写入数据储存装置100所储存于某个逻辑地址的数据。
在一实施例中,控制器120以1位元组为检测单位,计算每一页面160_A_1~16N_Z_X的错误校正码(Error Correction Code,ECC)位元数,并且统计当该错误校正码位元数为不同数值时所分别对应的这些页面的这些检测单位的数量,以分别判断快闪存储器140的每一储存矩阵160~16N是否正常。
图2显示了根据本发明一实施例所述的数据储存方法的流程图。在步骤S200中,控制器120接收来自主机200所传送的至少一读取指令,用以读取快闪存储器140所储存的数据。在步骤S202中,控制器120判断上述读取指令的长度是否大于第一预设值。如果上述读取指令的长度大于第一预设值,控制器120将读取指令配置于连续伫列(sequentialqueue);如果上述读取指令的长度没有大于第一预设值,控制器120将读取指令配置于随机伫列(random queue)。
由此可知,连续伫列依据主机200传送指令的顺序,储存了1个或多个长度大于第一预设值的读取指令。随机伫列依据主机200传送指令的顺序,储存了1个或多个长度小于或等于第一预设值的读取指令。在一实施例中,上述第一预设值为4Kbytes。要注意的是,上述第一预设值的数值仅作为说明之用,而非用以限制本发明。本发明所提供的数据储存装置100可依据其他存储器规范或是使用环境,选择其他数值作为上述第一预设值。
然后,在步骤S204中,控制器120执行随机伫列中的读取指令。换言之,数据储存装置100先执行随机伫列中的读取指令,再执行连续伫列中的读取指令。在步骤S206中,控制器120检测是否接收到来自主机200的第二读取指令。因此,每当控制器120执行完一个读取指令后,就会检测是否接收到主机200所传送的另一个读取指令(第二读取指令),以即时调整与分配数据储存装置100的存取运作。
如果控制器120没有接收到来自主机200的第二读取指令,则继续执行步骤S206。如果控制器120接收到来自主机200的第二读取指令,则执行步骤S208,控制器120依据第二读取指令的长度,将第二读取指令配置于随机伫列或连续伫列。上述判断指令长度以及分配到随机伫列或连续伫列的方法如步骤S202所述,故此处不再赘述。
在步骤S210中,控制器120检测随机伫列是否具有尚未执行的读取指令。如果随机伫列具有尚未执行的读取指令,则流程回到步骤S204,控制器120再次执行随机伫列中的读取指令。如果随机伫列没有尚未执行的读取指令,则执行步骤S212,控制器120执行连续伫列的读取指令。换言之,当随机伫列具有尚未执行的读取指令时,控制器120继续执行随机伫列中的读取指令,直到随机伫列没有尚未执行的该读取指令为止,然后控制器120才开始执行连续伫列的读取指令。
在另一实施例中,控制器120执行随机伫列中的读取指令的次数小于或等于一第二预设值。详细而言,当控制器120执行随机伫列中的读取指令的次数大于第二预设值时,控制器120停止执行随机伫列中的读取指令,并且开始执行连续伫列中的读取指令。举例而言,上述第二预设值为16。如果控制器120连续执行随机伫列中的16个读取指令时,即使随机伫列中还有尚未执行的读取指令,控制器120仍停止执行随机伫列中的读取指令,开始执行连续伫列中的读取指令。
藉由上述第二预设值的设定,能够强制控制器120开始执行连续伫列的读取指令,以避免连续伫列中的读取指令被搁置太久,影响到主机200对于数据的读取。详细而言,上述第二预设值的设定系关联于主机200的运作速度。当主机200的运作速度越快,则第二预设值的数值越小。
然后,在步骤S214中,控制器120检测是否接收到来自主机200的第三读取指令,以即时调整与分配数据储存装置100的存取运作。如果控制器120没有接收到来自主机200的第三读取指令,则继续执行步骤S214。如果控制器120接收到来自主机200的第三读取指令,则执行步骤S216,控制器120依据第三读取指令的长度,将第三读取指令配置于随机伫列或连续伫列。上述判断指令长度以及分配到随机伫列或连续伫列的方法如步骤S202所述,故此处不再赘述。然后,执行步骤S204,控制器120优先执行随机伫列中的读取指令,再执行连续伫列中的读取指令。
要注意的是,上述实施例主要说明主机200传送的指令为读取指令时的状况。在其他实施例中,如果主机200所传送的是写入指令,用以将数据写入快闪存储器160,亦适用于本发明所提供的数据储存装置与数据储存方法。详细而言,控制器120判断上述写入指令的长度是否大于第一预设值,如果写入指令的长度大于该第一预设值,则控制器120将该写入指令配置于连续伫列。如果写入指令的长度并未大于第一预设值,则控制器120将该写入指令配置于随机伫列。控制器优先执行随机伫列中的写入指令,然后再执行连续伫列中的写入指令。
在一实施例中,如果控制器120接收到主机200的读取指令与写入指令时,则控制器120执行指令的顺序为:随机伫列中的读取指令、连续伫列中的读取指令、随机伫列中的写入指令、以及连续伫列中的写入指令。一般而言,写入数据所耗费的时间,会大于读取数据所需要的时间。因此,本发明的数据储存装置100优先处理读取指令,再处理写入指令,以提升数据处理装置100的运作效率。
图3显示了根据本发明另一实施例所述的数据储存方法的流程图。此实施例中用以说明当随机伫列具有多个读取指令时,控制器120分配这些读取指令的执行顺序的方法。首先,在步骤S300,控制器120判断在随机伫列中,是否具有关于快取随机存取存储器180的数据的读取指令。亦即,上述读取指令是否涉及读取随即存取存储器180所储存的数据。
如果没有关于快取随机存取存储器180的数据的读取指令,则执行步骤S304。如果有关于快取随机存取存储器180的数据的读取指令,则执行步骤S302,控制器120执行关于快取随机存取存储器180的数据的读取指令。然后,在步骤S304中,控制器120评估多个储存矩阵160~16N与控制器120之间的多个通道的空闲状况。在步骤S306中,控制器120依据上述通道的空闲状况,执行所对应的通道为空闲的读取指令。换言之,当控制器120检测出某个通道正在进行数据传输(亦即非空闲的状态),会避免执行需要该通道的读取指令,以避免发生通道雍塞的状况而影响数据储存装置100的效能。
图4显示了根据本发明一实施例所述的以表格DT储存读取指令及其相关资讯的示意图。在此实施例中,表格DT纪录了随机伫列中的多个读取指令#1~#6及其对应地址的相关资讯。如图4所示,读取指令#0所欲读取的之数据储存于储存矩阵160(亦即CE0),读取指令#1所欲读取的数据也是储存于储存矩阵160(亦即CE0),读取指令#2所欲读取的数据储存于随机存取存储器180(亦即RAM)。上述读取指令#1~#6依序配置于随机伫列中。因此,若不考虑其数据储存的地址资讯,控制器120系依序执行读取指令#1~#6。
在一实施例中,控制器120优先执行关于快取随机存取存储器180的数据的读取指令。因此,控制器120先执行图4的读取指令#3与读取指令#6。然后,依照表格DT所显示的随机伫列的顺序,控制器120执行读取指令#1。要注意的是,由于读取指令#2的对应地址与读取指令#1相同,表示CE0与控制器120之间的通道已先被读取指令#1所占用。因此,考量到通道的空闲状态,控制器120在执行读取指令#1后,执行读取指令#4,而不是执行读取指令#2,以增进数据处理装置100的运作效能。
藉由本发明所提出的数据储存方法及其数据储存装置,能够检测读取指令的长度,并且将读取指令配置于随机伫列或是连续伫列。详细而言,数据储存装置优先执行随机伫列中的读取指令,并且以表格化方式及时且动态更新随机伫列与连续伫列的状况,因此能够对于不同长度的读取指令进行排序以及优化处理,以确保数据存取的效能与可靠度。
本发明的方法,或特定型态或其部份,可以以程式码的型态存在。程式码可储存于实体媒体,如软碟、光碟片、硬碟、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程式产品,其中,当程式码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程式码也可透过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程式码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程式码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
在本说明书以及申请专利范围中的序数,例如"第一"、"第二"、"第三"等等,彼此之间并没有顺序上的先后关系,其仅用于标示区分两个具有相同名字的不同元件。本发明说明书中"耦接"一词泛指各种直接或间接的电性连接方式。本发明虽以较佳实施例揭示如上,然其并非用以限定本发明的范围,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当由权利要求书界定为准。

Claims (14)

1.一种数据储存装置,包括:
一快闪存储器,用以储存至少一数据;以及
一控制器,耦接该快闪存储器,用以接收来自一主机所传送的至少一读取指令,并且依据该读取指令读取该快闪存储器所储存的该数据,其中:
该控制器判断该读取指令的长度是否大于一第一预设值,如果该长度大于该第一预设值,则该控制器将该读取指令配置于一连续伫列,如果该长度并未大于该第一预设值,则该控制器将该读取指令配置于一随机伫列,并且该控制器优先执行该随机伫列中的该读取指令,
其中,在该控制器优先执行该随机伫列中的该读取指令之后,该控制器检测该随机伫列是否具有尚未执行的该读取指令,
其中,当该随机伫列具有尚未执行的该读取指令时,该控制器继续执行该随机伫列中的该读取指令,直到该随机伫列没有尚未执行的该读取指令为止,然后该控制器开始执行该连续伫列的该读取指令。
2.如权利要求1所述的数据储存装置,其特征在于:
在该控制器优先执行该随机伫列中的该读取指令之后,该控制器检测是否接收到来自主机的一第二读取指令,并且该控制器依据该第二读取指令的长度,将该第二读取指令配置于该随机伫列或该连续伫列。
3.如权利要求1所述的数据储存装置,其特征在于:
在该控制器执行该连续伫列中的该读取指令之后,该控制器检测是否接收到来自主机的一第三读取指令,并且该控制器依据该第三读取指令的长度,将该第三读取指令配置于该随机伫列或该连续伫列。
4.如权利要求1所述的数据储存装置,其特征在于:
该第一预设值为通用快闪存储器(UFS)最小储存单位。
5.如权利要求1所述的数据储存装置,其特征在于,该数据储存装置还包括一随机存取存储器,用以暂存或是快取该数据,其中:
当该随机伫列的具有多个该读取指令时,该控制器优先执行有关于快取该随机存取存储器的该数据的该读取指令。
6.如权利要求5所述的数据储存装置,其特征在于,该快闪存储器包括多个储存矩阵(plane),这些储存矩阵的每一者包括多个区块(block),并且这些多矩阵的每一者分别藉由一通道耦接该控制器,其中:
该控制器执行有关于快取该随机存取存储器的该数据的该读取指令后,该控制器依据这些通道的空闲状况,执行所对应的该通道为空闲的该读取指令。
7.一种用于优化数据储存装置的数据储存方法,该数据储存装置具有一快闪存储器、一控制器以及一随机存取存储器,其中该快闪存储器包括多个储存矩阵(plane),并且这些储存矩阵的每一者包括多个区块(block),这些多矩阵的每一者分别藉由一通道耦接该控制器,该快闪存储器储存至少一数据,该数据储存方法包括:
接收来自一主机所传送的至少一读取指令,其中该读取指令用以读取该快闪存储器所储存的该数据;
判断该读取指令的长度是否大于一第一预设值,如果该长度大于该第一预设值,则该控制器将该读取指令配置于一连续伫列,如果该长度并未大于该第一预设值,则该控制器将该读取指令配置于一随机伫列;
优先执行该随机伫列中的该读取指令;
在优先执行该随机伫列中的该读取指令之后,检测该随机伫列是否具有尚未执行的该读取指令;
当该随机伫列具有尚未执行的该读取指令时,继续执行该随机伫列中的该读取指令,直到该随机伫列没有尚未执行的该读取指令为止;以及
开始执行该连续伫列的该读取指令。
8.如权利要求7所述的用于优化数据储存装置的数据储存方法,其特征在于,还包括:
在优先执行该随机伫列中的该读取指令之后,检测是否接收到来自主机的一第二读取指令;以及
依据该第二读取指令的长度,将该第二读取指令配置于该随机伫列或该连续伫列。
9.如权利要求7所述的用于优化数据储存装置的数据储存方法,其特征在于,还包括:
在执行该连续伫列中的该读取指令之后,该控制器检测是否接收到来自主机的一第三读取指令,并且依据该第三读取指令的长度,将该第三读取指令配置于该随机伫列或该连续伫列。
10.如权利要求7所述的用于优化数据储存装置的数据储存方法,其特征在于:
该第一预设值为通用快闪存储器(UFS)的最小储存单位。
11.如权利要求7所述的用于优化数据储存装置的数据储存方法,其特征在于:
当该随机伫列的具有多个该读取指令时,优先执行有关于快取该随机存取存储器的该数据的该读取指令。
12.如权利要求11所述的用于优化数据储存装置的数据储存方法,其特征在于,还包括:
在执行有关于快取该随机存取存储器的该数据的该读取指令后,依据这些通道的空闲状况,执行所对应的该通道为空闲的该读取指令。
13.一种数据储存装置,包括:
一快闪存储器,用以储存至少一数据;以及
一控制器,耦接该快闪存储器,用以接收来自一主机所传送的至少一读取指令,并且依据该读取指令读取该快闪存储器所储存的该数据,其中:
该控制器判断该读取指令的长度是否大于一第一预设值,如果该长度大于该第一预设值,则该控制器将该读取指令配置于一连续伫列,如果该长度并未大于该第一预设值,则该控制器将该读取指令配置于一随机伫列,并且该控制器优先执行该随机伫列中的该读取指令,
其中,在该控制器优先执行该随机伫列中的该读取指令之后,该控制器检测该随机伫列是否具有尚未执行的该读取指令,
其中,当该控制器执行该随机伫列中的该读取指令的次数大于第二预设值时,该控制器停止执行该随机伫列中的该读取指令,以及开始执行该连续伫列中的该读取指令。
14.一种用于优化数据储存装置的数据储存方法,该数据储存装置具有一快闪存储器、一控制器以及一随机存取存储器,其中该快闪存储器包括多个储存矩阵(plane),并且这些储存矩阵的每一者包括多个区块(block),这些多矩阵的每一者分别藉由一通道耦接该控制器,该快闪存储器储存至少一数据,该数据储存方法包括:
接收来自一主机所传送的至少一读取指令,其中该读取指令用以读取该快闪存储器所储存的该数据;
判断该读取指令的长度是否大于一第一预设值,如果该长度大于该第一预设值,则该控制器将该读取指令配置于一连续伫列,如果该长度并未大于该第一预设值,则该控制器将该读取指令配置于一随机伫列;
优先执行该随机伫列中的该读取指令;
在优先执行该随机伫列中的该读取指令之后,检测该随机伫列是否具有尚未执行的该读取指令;以及
当执行该随机伫列中的该读取指令的次数大于第二预设值时,停止执行该随机伫列中的该读取指令,以及开始执行该连续伫列中的该读取指令。
CN201810208664.5A 2017-08-25 2018-03-14 用以优化数据储存装置的数据储存方法及其数据储存装置 Active CN109426445B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW106128933 2017-08-25
TW106128933A TWI621021B (zh) 2017-08-25 2017-08-25 用以優化資料儲存裝置之資料儲存方法及其資料儲存裝置

Publications (2)

Publication Number Publication Date
CN109426445A CN109426445A (zh) 2019-03-05
CN109426445B true CN109426445B (zh) 2022-03-25

Family

ID=62639892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810208664.5A Active CN109426445B (zh) 2017-08-25 2018-03-14 用以优化数据储存装置的数据储存方法及其数据储存装置

Country Status (3)

Country Link
US (1) US10528289B2 (zh)
CN (1) CN109426445B (zh)
TW (1) TWI621021B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI657336B (zh) * 2017-08-28 2019-04-21 慧榮科技股份有限公司 用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置
KR102551730B1 (ko) * 2018-10-22 2023-07-06 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
CN114242122A (zh) * 2021-12-07 2022-03-25 深圳市富迪微科技有限公司 一种读取效率高的ssd硬盘及控制系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340569A (zh) * 2007-07-06 2009-01-07 扬智科技股份有限公司 高速缓存及其数据处理方法
CN104239229A (zh) * 2013-06-20 2014-12-24 慧荣科技股份有限公司 数据储存装置及用于快闪存储器的数据读取方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758116A (en) * 1994-09-30 1998-05-26 Intel Corporation Instruction length decoder for generating output length indicia to identity boundaries between variable length instructions
US6553476B1 (en) * 1997-02-10 2003-04-22 Matsushita Electric Industrial Co., Ltd. Storage management based on predicted I/O execution times
US7069399B2 (en) * 2003-01-15 2006-06-27 Via Technologies Inc. Method and related apparatus for reordering access requests used to access main memory of a data processing system
JP2012133416A (ja) * 2010-12-17 2012-07-12 Toshiba Corp メモリシステム
DE102012022728A1 (de) * 2012-11-21 2014-05-22 Unify Gmbh & Co. Kg Verfahren zur Steuerung eines Flash-Speichers zur Massenspeicherung, der von einem an einen Host anschließbaren Kommunikationsgerät umfasst ist, und Computerprogrammprodukt zur Ausführung des Verfahrens
US9158702B2 (en) * 2012-12-28 2015-10-13 Intel Corporation Apparatus and method for implementing a scratchpad memory using priority hint
US9509771B2 (en) * 2014-01-14 2016-11-29 International Business Machines Corporation Prioritizing storage array management commands
KR102364381B1 (ko) * 2015-03-06 2022-02-18 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
KR102320864B1 (ko) * 2015-03-24 2021-11-03 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340569A (zh) * 2007-07-06 2009-01-07 扬智科技股份有限公司 高速缓存及其数据处理方法
CN104239229A (zh) * 2013-06-20 2014-12-24 慧荣科技股份有限公司 数据储存装置及用于快闪存储器的数据读取方法

Also Published As

Publication number Publication date
CN109426445A (zh) 2019-03-05
TWI621021B (zh) 2018-04-11
US10528289B2 (en) 2020-01-07
US20190065055A1 (en) 2019-02-28
TW201913395A (zh) 2019-04-01

Similar Documents

Publication Publication Date Title
CN110058794B (zh) 用于动态执行垃圾回收数据储存装置与操作方法
US10296231B2 (en) Data-storage device and data maintenance method thereof
CN109582217B (zh) 数据储存装置与将数据写入存储器装置的方法
US10296224B2 (en) Apparatus, system and method for increasing the capacity of a storage device available to store user data
US10114578B2 (en) Solid state disk and data moving method
US11030093B2 (en) High efficiency garbage collection method, associated data storage device and controller thereof
CN109947355B (zh) 用于动态执行存储器回收数据储存装置与操作方法
CN109426581B (zh) 用以检测数据储存装置的数据储存方法及其数据储存装置
EP2003569A9 (en) Flash memory controller
CN109426445B (zh) 用以优化数据储存装置的数据储存方法及其数据储存装置
US11294586B2 (en) Method for performing read acceleration, associated data storage device and controller thereof
US10048870B2 (en) Electronic system and data maintenance method thereof
US20190235789A1 (en) Method for performing writing management in a memory device, and associated memory device and controller thereof
CN110109851B (zh) 具有主机和存储器控制器的电子系统及其操作方法
US20200293441A1 (en) Data storage devices and data processing methods
US10055356B2 (en) Memory device and method for controlling memory device
CN111897743A (zh) 数据储存装置及逻辑至物理地址映射表的载入方法
CN109426447B (zh) 用以优化数据储存装置的数据储存方法及其数据储存装置
US9575883B2 (en) Control device, storage device, and storage control method
US20230137938A1 (en) Method and apparatus for performing data access control of memory device with aid of predetermined command
CN109388593B (zh) 进行动态资源管理的方法、记忆装置及记忆装置的控制器
US11977783B2 (en) Method and apparatus for performing data access control of memory device with aid of predetermined command
TW202223900A (zh) 快閃記憶體系統及其快閃記憶體裝置
CN117519594A (zh) 提升qlc固态硬盘写性能的方法、装置及计算机设备

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