CN106484315B - 读取及写入命令排程方法以及使用该方法的装置 - Google Patents
读取及写入命令排程方法以及使用该方法的装置 Download PDFInfo
- Publication number
- CN106484315B CN106484315B CN201510644015.6A CN201510644015A CN106484315B CN 106484315 B CN106484315 B CN 106484315B CN 201510644015 A CN201510644015 A CN 201510644015A CN 106484315 B CN106484315 B CN 106484315B
- Authority
- CN
- China
- Prior art keywords
- mentioned
- reading
- writing commands
- queue
- write
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims 2
- 238000004148 unit process Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 239000000872 buffer Substances 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 230000009191 jumping Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- CXOXHMZGEKVPMT-UHFFFAOYSA-N clobazam Chemical compound O=C1CC(=O)N(C)C2=CC=C(Cl)C=C2N1C1=CC=CC=C1 CXOXHMZGEKVPMT-UHFFFAOYSA-N 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 238000004242 micellar liquid chromatography Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229940044442 onfi Drugs 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000004809 thin layer chromatography Methods 0.000 description 1
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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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]
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)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及一种读取及写入命令排程方法以及使用该方法的装置,由处理单元执行,至少包含下列步骤。从读取队列连续取得超过一个读取命令并执行,直到第一条件满足为止。当第一条件满足后,从写入队列连续取得超过一个写入命令并执行,直到第二条件满足为止。
Description
技术领域
本发明有关于一种快闪存储器装置,特别是一种读取及写入命令排程方法以及使用该方法的装置。
背景技术
快闪存储器装置通常分为NOR快闪装置与NAND快闪装置。NOR快闪装置为随机存取装置,而可于地址脚位上提供任何的地址,用以存取NOR快闪装置的主装置(host),并及时地由NOR快闪装置的数据脚位上获得储存于该地址上的数据。相反地,NAND快闪装置并非随机存取,而是串行存取。NAND快闪装置无法像NOR快闪装置一样,可以存取任何随机地址,主装置反而需要写入串行的位元组(bytes)的值到NAND快闪装置中,用以定义请求命令(command)的类型(如,读取、写入、抹除等),以及用在此命令上的地址。地址可指向一个页面(在快闪存储器中的一个写入作业的最小数据块)或一个区块(在快闪存储器中的一个抹除作业的最小数据块)。实际上,NAND快闪装置通常从存储器单元(memory cells)上读取或写入完整的数页数据。当一整页的数据从阵列读取到装置中的缓存器(buffer)后,藉由使用提取信号(strobe signal)顺序地敲出(clock out)内容,让主单元可逐位元组或字元组(words)存取数据。本发明提出一种读取及写入命令排程方法以及使用该方法的装置,用以提升数据读取及写入的效率。
发明内容
本发明的实施例提出一种读取及写入命令排程方法,由处理单元执行,至少包含下列步骤。从读取队列连续取得超过一个读取命令并执行,直到第一条件满足为止。当第一条件满足后,从写入队列连续取得超过一个写入命令并执行,直到第二条件满足为止。
本发明的实施例提出一种读取及写入命令排程装置,至少包含读取队列、写入队列及处理单元。处理单元耦接于读取队列及写入队列,从读取队列连续取得超过一个读取命令并执行,直到第一条件满足为止;以及当第一条件满足后,从写入队列连续取得超过一个写入命令并执行,直到第二条件满足为止。
附图说明
图1是依据本发明实施例的快闪存储器的系统架构示意图。
图2是依据本发明实施例的快闪存储器中的储存单元示意图。
图3是依据本发明实施例的存取介面与储存单元的方块图。
图4A至4C是依据本发明实施例的执行于处理单元中的读取及写入排程方法流程图。
图5是依据本发明实施例的连续读取及写入命令执行示意图。
图6是依据本发明实施例的连续读取及写入命令执行示意图。
符号说明
10 系统;
110 处理单元;
120 数据缓存器;
130 读取队列;
140 写入队列;
150 第二存取介面;
160 主装置;
170 第一存取介面;
170_0~170_j 存取子介面;
180 储存单元;
180_0_0~180_j_i 储存子单元;
210 存储器单元阵列;
220 行解码单元;
230 列编码单元;
240 地址单元;
250 数据缓存器;
S411~S495 方法步骤;
t0 设置写入计时器的时间点;
T1 写入计时器的时间区间。
具体实施方式
以下说明是为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考权利要求范围。
必须了解的是,使用于本说明书中的“包含”、“包括”等词,是用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
于权利要求中使用如“第一”、“第二“、”第三“等词用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。
图1是依据本发明实施例的快闪存储器的系统架构示意图。快闪存储器的系统架构10中包含处理单元110,用以写入数据到储存单元180中的指定地址,以及从储存单元180中的指定地址读取数据。详细来说,处理单元110透过第一存取介面170写入数据到储存单元180中的指定地址,以及从储存单元180中的指定地址读取数据。系统架构10使用数个电子信号来协调处理单元110与储存单元180间的数据与命令传递,包含数据线(data line)、时脉信号(clock signal)与控制信号(control signal)。数据线可用以传递命令、地址、读出及写入的数据;控制信号线可用以传递芯片致能(chip enable,CE)、地址提取致能(address latch enable,ALE)、命令提取致能(command latch enable,CLE)、写入致能(write enable,WE)等控制信号。第一存取介面170可采用双倍数据率(double data rate,DDR)通讯协定与储存单元180沟通,例如,开放NAND快闪(open NAND flash interface,ONFI)、双倍数据率开关(DDR toggle)或其他介面。处理单元110另可使用第二存取介面150透过指定通讯协定与主装置160进行沟通,例如,通用串行总线(universal serial bus,USB)、先进技术附着(advanced technology attachment,ATA)、串行先进技术附着(serialadvanced technology attachment,SATA)、快速周边元件互联(peripheral componentinterconnect express,PCI-E)或其他介面。
图2是依据本发明实施例的快闪存储器中的储存单元示意图。储存单元180可包含由MxN个存储器单元(memory cells)组成的阵列(array)210,而每一个存储器单元储存至少一个位元(bit)的资讯。快闪存储器可以是NAND型快闪存储器,或其他种类的快闪存储器。为了正确存取资讯,行解码单元220用以选择存储器单元阵列210中指定的行,而列编码单元230用以选择指定行中一定数量的位元组的数据作为输出。地址单元240提供行资讯给行解码器220,其中定义了选择存储器单元阵列210中的那些行。相似地,列解码器230则根据地址单元240提供的列资讯,选择存储器单元阵列210的指定行中一定数量的列进行读取或写入操作。行可称为为字元线(wordline),列可称为位元线(bitline)。数据缓存器(databuffer)250可储存从存储器单元阵列210读取出的数据,或欲写入存储器单元阵列210中的数据。存储器单元可为单层式单元(single-level cells,SLCs)、多层式单元(multi-levelcells,MLCs)或三层式单元(triple-level cells,TLCs)。
储存单元180可包含多个储存子单元,每一个储存子单元实施于一个晶粒(die)上,各自使用关联的存取子介面与处理单元110进行沟通。图3是依据本发明实施例的存取介面与储存单元的方块图。快闪存储器10可包含j+1个存取子介面170_0至170_j,存取子介面又可称为通道(channel),每一个存取子介面连接i+1个储存子单元。换句话说,i+1个储存子单元共享一个存取子介面。例如,当快闪存储器10包含4个通道(j=3)且每一个通道连接4个储存单元(i=3)时,快闪存储器10一共拥有16个储存单元180_0_0至180_j_i。处理单元110可驱动存取子介面170_0至170_j中之一,从指定的储存子单元读取数据。每个储存子单元拥有独立的芯片致能(CE)控制信号。换句话说,当欲对指定的储存子单元进行数据读取时,需要驱动关联的存取子介面致能此储存子单元的芯片致能控制信号。
主装置160可透过第二存取介面150提供带有逻辑区块地址(LBA,Logical BlockAddress)的读取命令或写入命令给处理单元110,用以指示写入或读取特定区域的数据。这些读取命令以及写入命令会依到达时间的先后顺序被分别储存于读取队列130以及写入队列140。第一存取介面170为最佳化数据读取及写入的效率,可排程这些命令,形成连续性的读取或写入,而非按照接收到命令的先后时间顺序。图4A至4C是依据本发明实施例的执行于处理单元中的读取及写入排程方法流程图。在经过一段闲置时间后接收到至少一个读取或写入命令开始整个方法流程。于此流程执行的期间,所有经由第二存取介面150从主装置160接收到的读取命令及写入命令会依时间先后顺序被分别储存于读取队列130以及写入队列140。首先,处理单元选择第一个进入队列的命令(步骤S411)。接着,判断第一个命令是否为读取命令(步骤S413)。当第一个命令为读取命令时(步骤S413中”是”的路径),此流程反复执行一个回圈,尝试连续执行数个读取队列130中的读取命令,直到特定条件发生为止(步骤S431至S455)。于此须注意的是,在尚未发生特定条件前,被执行的读取命令的到达时间是允许晚于写入队列中的若干写入命令的到达时间。另一方面,当第一个命令为写入命令时(步骤S413中”否”的路径),此流程反复执行一个回圈,尝试连续执行数个写入队列140中的命令,直到特定条件发生为止(步骤S471至S495)。于此须注意的是,在尚未发生特定条件前,被执行的写入命令的到达时间是允许晚于读取队列中的若干读取命令的到达时间。
于执行读取命令的回圈中,可至少包含了三个是否结束执行读取命令并开始执行写入命令的条件判断。第一个判断用以将连续的读取命令执行限制于一段时间区间内,此时间区间关联于写入命令允许的等待时间。当一个写入命令到达后,并且在超过允许的等待时间后还没被执行,主装置160会认为发生了写入错误,并重新传送写入命令。于进入回圈的一开始,处理单元110会设置一个写入计时器,并设定一段关联于写入命令的允许等待时间的时间区间(步骤S431)。于此须注意的是,当写入计时器已经到达设定的时间区间后,会通知处理单元110关于写入计时器已经逾时的资讯。此通知可以直接发送信号给处理单元110,或设定可被处理单元110读取的暂存器。于每次执行完读取队列130中的读取命令后(步骤S437),判断写入计时器是否逾时(步骤S451)。若是,则跳出读取命令的回圈并尝试开始取得并执行写入队列140中的写入命令(步骤S493、S473及S477)。图5是依据本发明实施例的连续读取及写入命令执行示意图。假设读取队列130储存五笔读取命令,而写入队列140中储存四笔读取命令,括弧中的数字代表逻辑区块地址。处理单元110于时间点t0设置一个写入计时器,并设定时间区间T1。处理单元110在连续执行读取逻辑区块地址100、200及300的命令后(步骤S437),发现写入计时器逾时(步骤S451中“是”的路径)。接着,开始执行写入逻辑区块地址1000及以后的命令(步骤S473)。
第二个判断用以避免发生脏读取(dirty read)的情形。脏读取是指当主装置160欲先写入数据至一个逻辑区块地址再从相同的逻辑区块地址读出,但却因为执行顺序颠倒而造成处理单元110先读出尚未写入的错误数据。或者是,当主装置160欲先从一个逻辑区块地址读取数据再写入数据到相同的逻辑区块地址,但却因为执行顺序颠倒而读取到已经覆写过的错误数据。为避免脏读取,处理单元110于每次取得读取命令后(步骤S433),先判断于写入队列140中是否存在一笔相同于此读取命令的逻辑区块地址的写入命令,且此写入命令的到达时间早于读取命令的到达时间(步骤S435)。若是,则跳出读取命令的回圈并尝试开始取得并执行写入队列140中的写入命令(步骤S493、S473及S477)。图6是依据本发明实施例的连续读取及写入命令执行示意图。假设读取队列130储存五笔读取命令,而写入队列140中储存四笔读取命令,第一个括弧中的数字代表逻辑区块地址,第二个括弧中的数字代表命令到达的时间先后顺序(数字越小代表到达的时间越早)。处理单元110在连续执行读取逻辑区块地址100及200的命令后(步骤S437),发现写入队列140中存在一笔相同于即将执行读取命令的逻辑区块地址300的写入命令,且此写入命令的到达时间早于读取命令的到达时间(步骤S435中”是”的路径)。接着,开始执行写入逻辑区块地址1000及以后的命令(步骤S473)。
此外,当判断读取队列130没有任何读取命令待执行且写入队列140中有至少一个写入命令待执行时(步骤S453中“是”的路径并接着步骤S455中“是”的路径),则跳出读取命令的回圈并尝试开始取得并执行写入队列140中的写入命令(步骤S493、S473及S477)。于步骤S437中,处理单元110驱动第一存取介面170用以从储存单元180中读出特定逻辑区块地址的数据并储存于数据缓存器120,接着驱动第二存取介面150读取数据缓存器120中的数据并回复给主装置160。于此须注意的是,每次成功执行读取命令后(步骤S437),从读取队列130移除此读取命令。
类似地,于执行写入命令的回圈中,可至少包含了三个是否结束执行写入命令并开始执行读取命令的条件判断。于进入回圈的一开始,处理单元110会设置一个读取计时器,并设定一段关联于读取命令的允许等待时间的时间区间(步骤S471)。读取计时器的设计类似于写入计时器,技术细节可参考关于写入计时器的内容,不再赘述以求精简。读取计时器的时间区间可相同于或不同于写入计时器的时间区间。于每次执行完写入队列140中的写入命令后(步骤S477),判断写入计时器是否逾时(步骤S491)。若是,则跳出写入命令的回圈并尝试开始取得并执行读取队列130中的读取命令(步骤S453、S433及S437)。为避免脏读取,处理单元110于每次取得写入命令后(步骤S473),先判断于读取队列130中是否存在一笔相同于此写入命令的逻辑区块地址的读取命令,且此读取命令的到达时间早于写入命令的到达时间(步骤S475)。若是,则跳出写入命令的回圈并尝试开始取得并执行读取队列130中的读取命令(步骤S453、S433及S437)。此外,当判断写入队列140没有任何读取命令待执行且写入队列140中有至少一个写入命令待执行时(步骤S493中“是”的路径并接着步骤S495中“是”的路径),则跳出写入命令的回圈并尝试开始取得并执行读取队列130中的读取命令(步骤S453、S433及S437)。于步骤S477中,处理单元110驱动第一存取介面170,用以写入特定逻辑区块地址的数据至储存单元180。于此须注意的是,每次成功执行写入命令后(步骤S477),从写入队列140移除此写入命令。
虽然图1至3中包含了以上描述的元件,但不排除在不违反发明的精神下,使用更多其他的附加元件,已达成更佳的技术效果。此外,虽然图4的流程图采用指定的顺序来执行,但是在不违法发明精神的情况下,熟悉本技术领域者可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。此外,熟悉本技术领域者亦可以将若干步骤整合为一个步骤,或者是除了这些步骤外,循序或平行地执行更多步骤,本发明亦不因此而局限。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用以限缩本发明。相反地,此发明涵盖了熟悉本技术领域者显而易见的修改与相似设置。所以,申请权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。
Claims (19)
1.一种读取及写入命令排程方法,由一处理单元执行,包含:
设置一写入计时器及设定关联于写入命令的允许等待时间的一时间区间;
从一读取队列连续取得超过一个读取命令并执行,直到一第一条件满足为止,其中于每一上述读取命令执行完后,判断上述写入计时器是否已经到达上述时间区间,且当判定上述写入计时器已经到达上述时间区间时,上述第一条件满足;以及
当上述第一条件满足后,从一写入队列连续取得超过一个写入命令并执行,直到一第二条件满足为止。
2.如权利要求1所述的读取及写入命令排程方法,其特征在于,还包含:
透过一存取介面从一主装置取得上述读取命令以及上述写入命令;
将上述读取命令依到达时间的先后顺序储存于上述读取队列;以及
将上述写入命令依到达时间的先后顺序储存于上述写入队列。
3.如权利要求1所述的读取及写入命令排程方法,其特征在于,当到达上述时间区间时,上述写入计时器通知上述处理单元有关上述写入计时器已经逾时的资讯。
4.如权利要求1所述的读取及写入命令排程方法,其特征在于,还包含:
于每一上述读取命令执行前,判断上述读取命令的一第一逻辑区块地址是否相同于上述写入队列中的一写入命令的一第二逻辑区块地址且上述写入命令的一到达时间早于上述读取命令的一到达时间;以及
若是,则判定上述第一条件满足。
5.如权利要求1所述的读取及写入命令排程方法,其特征在于,还包含:
当检测到上述读取队列中没有任何待处理的读取命令且上述写入队列存在至少一待处理的写入命令时,判定上述第一条件满足。
6.如权利要求1所述的读取及写入命令排程方法,其特征在于,还包含:
于每一上述写入命令执行前,判断上述写入命令的一第一逻辑区块地址是否相同于上述读取队列中的一读取命令的一第二逻辑区块地址且上述读取命令的一到达时间早于上述写入命令的一到达时间;以及
若是,则判定上述第二条件满足。
7.如权利要求1所述的读取及写入命令排程方法,其特征在于,还包含:
当检测到上述写入队列中没有任何待处理的写入命令且上述读取队列存在至少一待处理的读取命令时,判定上述第二条件满足。
8.一种读取及写入命令排程方法,由一处理单元处理,包含:
设置一读取计时器及设定关联于读取命令的允许等待时间的一时间区间;
从一读取队列连续取得超过一个读取命令并执行,直到一第一条件满足为止;以及
当上述第一条件满足后,从一写入队列连续取得超过一个写入命令并执行,直到一第二条件满足为止,其中于每一上述写入命令执行完后,判断上述读取计时器是否已经到达上述时间区间且当判定上述读取计时器已经到达上述时间区间时,上述第二条件满足。
9.如权利要求8所述的读取及写入命令排程方法,其特征在于,当到达上述时间区间时,上述读取计时器通知上述处理单元有关上述读取计时器已经逾时的资讯。
10.一种读取及写入命令排程装置,包含:
一读取队列;
一写入队列;以及
一处理单元,耦接于上述读取队列及上述写入队列,设置一写入计时器及设定关联于写入命令的允许等待时间的一时间区间,从上述读取队列连续取得超过一个读取命令并执行,直到一第一条件满足为止,其中于每一上述读取命令执行完后,判断上述写入计时器是否已经到达上述时间区间,且当判定上述写入计时器已经到达上述时间区间时,判定上述第一条件满足;以及当上述第一条件满足后,从上述写入队列连续取得超过一个写入命令并执行,直到一第二条件满足为止。
11.如权利要求10所述的读取及写入命令排程装置,其特征在于,还包含:
一存取队列;
其中,上述处理单元透过一存取介面从一主装置取得上述读取命令以及上述写入命令;将上述读取命令依到达时间的先后顺序储存于上述读取队列;以及将上述写入命令依到达时间的先后顺序储存于上述写入队列。
12.如权利要求10所述的读取及写入命令排程装置,其特征在于,当到达上述时间区间时,上述写入计时器通知上述处理单元有关上述写入计时器已经逾时的资讯。
13.如权利要求10所述的读取及写入命令排程装置,其特征在于,上述处理单元于每一上述读取命令执行前,判断上述读取命令的一第一逻辑区块地址是否相同于上述写入队列中的一写入命令的一第二逻辑区块地址且上述写入命令的一到达时间早于上述读取命令的一到达时间;以及若是,则判定上述第一条件满足。
14.如权利要求10所述的读取及写入命令排程装置,其特征在于,上述处理单元当检测到上述读取队列中没有任何待处理的读取命令且上述写入队列存在至少一待处理的写入命令时,判定上述第一条件满足。
15.如权利要求10所述的读取及写入命令排程装置,其特征在于,上述处理单元于每一上述写入命令执行前,判断上述写入命令的一第一逻辑区块地址是否相同于上述读取队列中的一读取命令的一第二逻辑区块地址且上述读取命令的一到达时间早于上述写入命令的一到达时间;以及若是,则判定上述第二条件满足。
16.如权利要求10所述的读取及写入命令排程装置,其特征在于,上述处理单元当检测到上述写入队列中没有任何待处理的写入命令且上述读取队列存在至少一待处理的读取命令时,判定上述第二条件满足。
17.如权利要求10所述的读取及写入命令排程装置,其特征在于,在上述第一条件满足前,被执行的上述读取命令中之一到达时间允许晚于上述写入队列中的至少一写入命令的到达时间;以及在上述第二条件满足前,被执行的上述写入命令中之一到达时间允许晚于上述读取队列中的至少一读取命令的到达时间。
18.一种读取及写入命令排程装置,包含:
一读取队列;
一写入队列;以及
一处理单元,耦接于上述读取队列及上述写入队列,设置一读取计时器及设定关联于读取命令的允许等待时间的一时间区间,从上述读取队列连续取得超过一个读取命令并执行,直到一第一条件满足为止;以及当上述第一条件满足后,从上述写入队列连续取得超过一个写入命令并执行,直到一第二条件满足为止,其中于每一上述写入命令执行完后,判断上述读取计时器是否已经到达上述时间区间,且当判定上述读取计时器已经到达上述时间区间时,判定上述第二条件满足。
19.如权利要求18所述的读取及写入命令排程装置,其特征在于,当到达上述时间区间时,上述读取计时器通知上述处理单元有关上述读取计时器已经逾时的资讯。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104128765 | 2015-09-01 | ||
TW104128765A TWI588652B (zh) | 2015-09-01 | 2015-09-01 | 讀取及寫入命令排程方法以及使用該方法的裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106484315A CN106484315A (zh) | 2017-03-08 |
CN106484315B true CN106484315B (zh) | 2019-10-11 |
Family
ID=58104060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510644015.6A Active CN106484315B (zh) | 2015-09-01 | 2015-10-08 | 读取及写入命令排程方法以及使用该方法的装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9971546B2 (zh) |
CN (1) | CN106484315B (zh) |
TW (1) | TWI588652B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6677627B2 (ja) * | 2016-12-20 | 2020-04-08 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびメモリアクセス方法 |
WO2020077495A1 (zh) * | 2018-10-15 | 2020-04-23 | 华为技术有限公司 | 命令调度方法、装置及存储介质 |
US10996860B2 (en) * | 2018-10-31 | 2021-05-04 | Intel Corporation | Method to improve mixed workload performance on storage devices that use cached operations |
US11481152B2 (en) * | 2019-12-30 | 2022-10-25 | Micron Technology, Inc. | Execution of commands addressed to a logical block |
EP3926452A1 (en) * | 2020-06-19 | 2021-12-22 | NXP USA, Inc. | Norflash sharing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501254A (zh) * | 2002-11-13 | 2004-06-02 | 矽统科技股份有限公司 | 内存读取/写入仲裁方法 |
US7644248B2 (en) * | 2006-09-27 | 2010-01-05 | Intel Corporation | Mechanism to generate logically dedicated read and write channels in a memory controller |
CN103680594A (zh) * | 2012-08-29 | 2014-03-26 | 三星电子株式会社 | 降低写失败的存储器件、包括该存储器件的系统及其方法 |
TW201516681A (zh) * | 2013-09-24 | 2015-05-01 | Intel Corp | 用於快取佔有率判定與指令排程之方法及設備 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7127574B2 (en) * | 2003-10-22 | 2006-10-24 | Intel Corporatioon | Method and apparatus for out of order memory scheduling |
US7188219B2 (en) * | 2004-01-30 | 2007-03-06 | Micron Technology, Inc. | Buffer control system and method for a memory system having outstanding read and write request buffers |
US7167947B2 (en) * | 2004-03-15 | 2007-01-23 | Intel Corporation | Memory post-write page closing apparatus and method |
US20080059672A1 (en) * | 2006-08-30 | 2008-03-06 | Irish John D | Methods and Apparatus for Scheduling Prioritized Commands on a Bus |
JP2012128644A (ja) * | 2010-12-15 | 2012-07-05 | Toshiba Corp | メモリシステム |
US9021228B2 (en) * | 2013-02-01 | 2015-04-28 | International Business Machines Corporation | Managing out-of-order memory command execution from multiple queues while maintaining data coherency |
-
2015
- 2015-09-01 TW TW104128765A patent/TWI588652B/zh active
- 2015-10-08 CN CN201510644015.6A patent/CN106484315B/zh active Active
-
2016
- 2016-07-27 US US15/220,739 patent/US9971546B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501254A (zh) * | 2002-11-13 | 2004-06-02 | 矽统科技股份有限公司 | 内存读取/写入仲裁方法 |
US7644248B2 (en) * | 2006-09-27 | 2010-01-05 | Intel Corporation | Mechanism to generate logically dedicated read and write channels in a memory controller |
CN103680594A (zh) * | 2012-08-29 | 2014-03-26 | 三星电子株式会社 | 降低写失败的存储器件、包括该存储器件的系统及其方法 |
TW201516681A (zh) * | 2013-09-24 | 2015-05-01 | Intel Corp | 用於快取佔有率判定與指令排程之方法及設備 |
Also Published As
Publication number | Publication date |
---|---|
TWI588652B (zh) | 2017-06-21 |
TW201710897A (zh) | 2017-03-16 |
US20170060427A1 (en) | 2017-03-02 |
CN106484315A (zh) | 2017-03-08 |
US9971546B2 (en) | 2018-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484315B (zh) | 读取及写入命令排程方法以及使用该方法的装置 | |
CN105893275B (zh) | 缓存及读取即将写入储存单元的数据的方法以及使用该方法的装置 | |
US8144515B2 (en) | Interleaved flash storage system and method | |
CN108932108A (zh) | 快闪存储器的命令排程及执行方法以及使用该方法的装置 | |
CN108733578A (zh) | 快闪存储器的垃圾回收断电回复方法及使用该方法的装置 | |
CN108733580A (zh) | 读取命令排程方法 | |
CN104425019A (zh) | 存取快闪存储器中储存单元的方法以及使用该方法的装置 | |
CN107632904A (zh) | 存取快闪存储器中储存单元的方法以及使用该方法的装置 | |
CN105426315A (zh) | 实体储存对照表维护方法以及使用该方法的装置 | |
CN106201329B (zh) | 循环区块模式下的数据存取方法以及使用该方法的装置 | |
US20200117378A1 (en) | Method for performing read acceleration, associated data storage device and controller thereof | |
CN106033323B (zh) | 读取快闪存储器中储存单元的方法以及使用该方法的装置 | |
CN107797755A (zh) | 固态硬盘系统的原子写入方法以及使用该方法的装置 | |
CN103106155A (zh) | 存储器储存装置、存储器控制器与其数据传输方法 | |
CN104425018A (zh) | 存取快闪存储器中储存单元的方法以及使用该方法的装置 | |
CN107797756A (zh) | 固态硬盘系统的优先写入方法以及使用该方法的装置 | |
CN102012788B (zh) | 下达读取指令与数据读取方法、闪存控制器与储存系统 | |
CN106155914A (zh) | 实体储存对照表维护方法以及使用该方法的装置 | |
CN104714892B (zh) | 数据存取命令执行方法以及使用该方法的快闪存储器装置 | |
CN112767976B (zh) | 平稳闪存写速度的方法、装置、存储介质和计算机设备 | |
TWI621015B (zh) | 讀取及寫入命令排程方法以及使用該方法的裝置 | |
CN107924370A (zh) | 单一中断服务例程线程中处理关联于多个请求的返回实体的方法以及使用该方法的装置 | |
KR20110131714A (ko) | 데이터 복사를 제어하는 플래시 시스템 및 그의 제어 방법 | |
US20170168750A1 (en) | Methods for garbage collection in a flash memory and apparatuses using the same | |
US10387076B2 (en) | Methods for scheduling data-programming tasks and apparatuses using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |