CN108932108A - 快闪存储器的命令排程及执行方法以及使用该方法的装置 - Google Patents
快闪存储器的命令排程及执行方法以及使用该方法的装置 Download PDFInfo
- Publication number
- CN108932108A CN108932108A CN201810040402.2A CN201810040402A CN108932108A CN 108932108 A CN108932108 A CN 108932108A CN 201810040402 A CN201810040402 A CN 201810040402A CN 108932108 A CN108932108 A CN 108932108A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- order
- queue
- priority
- register
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 6
- 230000003068 static effect 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
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 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
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006870 function Effects 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
- 230000035945 sensitivity Effects 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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]
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是依据本发明实施例的一个存取子介面与多个储存子单元的连接示意图。
图4是依据本发明实施例的命令轮廓产生器及命令轮廓空间的方块图。
图5是依据本发明实施例的快闪存储器的命令排程及执行方法流程图。
符号说明
10 系统;
110 处理单元;
120 命令轮廓产生器;
130 命令伫列;
140 命令轮廓空间;
141 最高优先级寄存器;
143 次高优先级寄存器;
145 简单读写寄存器;
150 存取介面;
160 主装置;
170 存取介面;
170_0~170_j 存取子介面;
180 储存单元;
180_0_0、…、180_j_i 储存子单元;
320_0_0、…、320_0_i 芯片致能控制讯号;
410 控制器;
431、433 比较器;
LUN、LUN0、LUN1、…、LUNn-1 逻辑单元号码;
HoQ 伫列顶旗标;
S511~S553 方法步骤。
具体实施方式
以下说明为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考之后的权利要求范围。
必须了解的是,使用于本说明书中的”包含”、”包括”等词,系用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
于权利要求中使用如”第一”、"第二"、"第三"等词系用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。
图1是依据本发明实施例的快闪存储器的系统架构示意图。快闪存储器的系统架构10中包含处理单元110,用以写入数据到储存单元180中的指定地址,以及从储存单元180中的指定地址读取数据。详细来说,处理单元110透过存取介面170写入数据到储存单元180中的指定地址,以及从储存单元180中的指定地址读取数据。处理单元110可使用多种方式实施,例如以专用硬件电路或通用硬件(例如,单一处理器、具平行处理能力的多处理器或其他具运算能力的处理器),并且于载入及执行特定指令或软体时实施如下所述的功能。处理单元110可包含运算逻辑单元(ALU,Arithmetic and Logic Unit)以及位移器(bitshifter)。运算逻辑单元负责执行布林运算(如AND、OR、NOT、NAND、NOR、XOR、XNOR等),而位移器负责位移运算及位元旋转。系统架构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 technologyattachment,ATA)、串行先进技术附着(serial advanced technology attachment,SATA)、快速周边元件互联(peripheral component interconnect express,PCI-E)或其他介面。
储存单元180可包含多个储存子单元,每一个储存子单元实施于一个晶粒(die)上,各自使用关联的存取子介面与处理单元110进行沟通。图2是依据本发明实施例的存取介面与储存单元的方块图。快闪存储器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,Chip Enable)控制讯号。换句话说,当欲对指定的储存子单元进行数据写入或读取时,需要驱动关联的存取子介面致能此储存子单元的芯片致能控制讯号。第3图系依据本发明实施例的一个存取子介面与多个储存子单元的连接示意图。处理单元110可透过存取子介面170_0使用独立的芯片致能控制讯号320_0_0至320_0_i来从连接的储存子单元180_0_0至180_0_i中选择出其中一者,接着,透过共享的数据线310_0写入数据至选择出的储存子单元的指定位置。
存取介面150将每一个从主装置160接收的命令依据到达的先后顺序储存至命令伫列130。每个命令包含操作码(opcode)及属性(attribute)等资讯。操作码用以定义命令的类型,如读取、写入、抹除等。属性可包含欲读取或写入数据的逻辑单元号码(LUN,Logical Unit Number)以及各式各样的旗标(flags),使得处理单元110可藉由属性资讯来区分命令的优先级。为了让处理单元110能有效率地判断命令伫列130中是否存在高优先级以及/或高优先级的命令待处理,本发明实施例于快闪存储器10中设置命令轮廓产生器(command profile generator)120及命令轮廓空间(command profile space)140。命令轮廓空间140包含多个寄存器,每个寄存器储存命令伫列130中特定优先级类型的命令数量。例如,命令的优先级类型由高至低可分为最高优先级(highest priority)、次高优先级(2ndpriority)及简单读写(simple read/write)。命令轮廓空间140包含三个寄存器,分别储存伫列130中最高优先级(highest-priority)、次高优先级(2nd-priority)及简单读写的命令数量。命令轮廓产生器120监看存取介面150写入命令伫列130的所有命令,并且依据命令中的属性资讯更新三个寄存器的值。例如,当命令中包含特定的逻辑单元号码时,代表此命令为一个最高优先级的读取或写入命令。于此须注意的是,逻辑单元号码关联储存单元180中特定的实体区块,而一些逻辑单元号码的实体区块可能被设置来储存敏感或重要数据。当命令轮廓产生器120侦测到任何命令的属性值中包含特定的逻辑单元号码时,将最高优先级寄存器的值加一。此外,命令中可能包含一个伫列顶旗标(Head-of-Queue flag),用以表示除了最高优先级的命令外,此命令的执行是否需优先于命令伫列130中的其他命令。举例来说,伫列顶旗标为逻辑”1”表示此命令的执行需优先于命令伫列130中的其他命令(除了最高优先级的命令以外)。当命令轮廓产生器120侦测到任何命令的属性值中的伫列顶旗标为逻辑”1”时,将次高优先级寄存器的值加一。如上所述的特定的逻辑单元号码可称为最高优先级的资讯,伫列顶旗标可称为次高优先级的资讯,而特定的逻辑单元号码及伫列顶旗标可统称为优先级的资讯。处理单元110于每次执行完一个命令后,读取最高优先级寄存器的值以判断命令伫列130中是否存在最高优先级的命令。如果最高优先级寄存器的值大于0,则从命令伫列130中推出(de-queue)最高优先级的命令并执行。如果命令伫列130中不存在最高优先级的命令,读取次高优先级寄存器的值以判断命令伫列130中是否存在次高优先级的命令。如果次高优先级寄存器的值大于0,则从命令伫列130中推出次高优先级的命令并执行。如果命令伫列130中不存在次高优先级的命令,则以习知的演算法排程命令伫列130中的其他命令并执行。虽然本发明实施例将优先权类型分为三个等级,但是熟悉本技术领域者可将命令伫列130中的命令区分出更多或更少的等级,本发明并不因此受限。
图4是依据本发明实施例的命令轮廓产生器120及命令轮廓空间140的方块图。轮廓空间140包含最高优先级寄存器141、次高优先级寄存器143及简单读写寄存器145。最高优先级寄存器141、次高优先级寄存器143及简单读写寄存器145于系统初始时设为0。命令轮廓产生器120包含控制器410及二个比较器431及433。比较器431取得每个命令中特定位元的值作为命令的逻辑单元号码LUN,并且判断逻辑单元号码LUN是否符合预设的逻辑单元号码LUN0至LUNn-1中之一者。于一些实施例中,预设的逻辑单元号码LUN0至LUNn-1可储存至只读存储器(ROM,Read Only Memory,未显示于图1)或静态随机存取存储器(SRAM,StaticRandom Access Memory,未显示于图1)。于一些实施例中,预设的逻辑单元号码LUN0至LUNn-1可储存于储存单元180,并且于系统开机后,处理单元110驱动存取介面170从储存单元180读取逻辑单元号码LUN0至LUNn-1并储存至动态随机存取存储器(DRAM,DynamicRandom Access Memory)。当比较器431发现逻辑单元号码LUN符合预设的逻辑单元号码LUN0至LUNn-1中之一者时,输出逻辑”1”给控制器410;否则,输出逻辑”0”给控制器410。比较器433取得每个命令中的特定位元作为命令的伫列顶旗标(Head-of-Queue Flag)HoQ,并且判断伫列顶旗标是否为逻辑”1”。当比较器433发现伫列顶旗标为逻辑”1”时,输出逻辑”1”给控制器410;否则,输出逻辑”0”给控制器410。控制器410依据比较器431及433的输出,将最高优先级寄存器141、次高优先级寄存器143及简单读写寄存器145中之一者的值加一。详细来说,当控制器410发现比较器431输出逻辑”1”时,将最高优先级寄存器141的值加一。当控制器410发现比较器433输出逻辑”1”时,将次高优先级寄存器143的值加一。当控制器410发现比较器431及433皆输出逻辑”0”时,将简单读写寄存器145的值加一。于一些实施例中,熟悉本技术领域者可省略轮廓空间140中的简单读写寄存器145,用以降低硬件成本。
图5是依据本发明实施例的快闪存储器的命令排程及执行方法流程图。处理单元110载入并执行特定微码或固件指令时实施此方法,用以依据轮廓空间140中储存的资讯排程及执行命令伫列130中的命令。总的来说,处理单元110每次执行完命令伫列130中的一个命令后读取轮廓空间140中储存的资讯,据以判断命令伫列130中是否存在优先级的命令(例如,如上所述的最高优先级的命令、次高优先级的命令等)。如果存在优先级的命令,则从命令伫列130推出优先级的命令并执行。优先级可分为一或多级。当较高优先级的命令存在时,处理单元110必须先执行较高优先级的命令。虽然实施例描述将优先级分为二级,但是熟悉本技术领域者可修改为使用更多或更少级的优先级,本发明并不因此局限。如果不存在优先级的命令,则使用预先设定的排程演算法从命令伫列130选择简单读写命令并执行。举例来说,排程演算法可从命令伫列130挑选最早进入的命令、于特定计时器逾时前挑选与上次执行命令相同类型的命令(读取或写入)、挑选与上次执行命令相反类型的命令(也就是循环排程round-robin)、挑选与上次执行命令形成连续读取或写入的命令,或以任何已知条件挑选命令伫列130中的命令。相较于传统扫描命令伫列130中的命令来判断是否存在优先级的命令,本发明实施例中的处理单元110读取轮廓空间140中储存的资讯来判断是否存在优先级的命令,则更具效率。也就是说,处理单元110不扫描命令伫列130中的命令来判断是否存在优先级的命令,用以提升命令排程的效率。
详细来说,于每一回合中,处理单元110读取最高优先级寄存器141的值(步骤S511)并判断是否大于0(步骤S513)。当最高优先级寄存器141的值大于0时(步骤S513中”是”的路径),从命令伫列推出最高优先级的命令并执行(步骤S515)及将最高优先级寄存器141的值减1(步骤S517)。于步骤S515,于最高优先级的命令之前的其他命令(例如,次高优先级的命令或简单读写命令)可依然保存于命令伫列130或移出命令伫列130并暂存于静态随机存取存储器(未显示于第1图)。当最高优先级寄存器141的值不大于0时(步骤S513中”否”的路径),处理单元110读取次高优先级寄存器143的值(步骤S531)并判断是否大于0(步骤S533)。当次高优先级寄存器143的值大于0时(步骤S533中”是”的路径),从命令伫列推出次高优先级的命令并执行(步骤S535)及将次高优先级寄存器143的值减1(步骤S537)。于步骤S535,于最高优先级的命令之前的其他命令(例如,简单读写命令)可依然保存于命令伫列130或移出命令伫列130并暂存于静态随机存取存储器(未显示于第1图)。当次高优先级寄存器143的值不大于0时(步骤S533中”否”的路径),使用预先设定的排程演算法从命令伫列130选择一个简单读写命令并执行(步骤S551)及将简单读写寄存器145的值减1(步骤S553)。
虽然图1至4中包含了以上描述的元件,但不排除在不违反发明的精神下,使用更多其他的附加元件,已达成更佳的技术效果。此外,虽然图5的处理步骤采用特定的顺序来执行,但是在不违反发明精神的情况下,熟悉本技术领域者可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用以限缩本发明。相反地,此发明涵盖了熟悉本技术领域者显而易见的修改与相似设置。所以,申请权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。
Claims (18)
1.一种快闪存储器的命令排程及执行方法,由一处理单元执行,包含:
读取一命令轮廓空间中储存的资讯,据以判断上述命令伫列中是否存在一优先级命令;
当上述命令伫列中存在上述优先级命令时,从上述命令伫列推出上述优先级命令并执行;以及
当上述命令伫列中不存在上述优先级命令时,使用一排程演算法从上述命令伫列选择一简单读写命令并执行。
2.如权利要求1所述的快闪存储器的命令排程及执行方法,其特征在于,一主装置发送上述优先级命令及上述简单读写命令。
3.如权利要求2所述的快闪存储器的命令排程及执行方法,其特征在于,一命令轮廓产生器监看一存取介面写入上述命令伫列的所有命令,并且依据上述命令的属性资讯更新上述命令轮廓空间中储存的资讯。
4.如权利要求3所述的快闪存储器的命令排程及执行方法,其特征在于,上述命令轮廓空间包含一寄存器,以及,每当上述命令轮廓产生器从上述命令中之一者的属性资讯发现含有一优先级的资讯时,将上述寄存器的值加1。
5.如权利要求4所述的快闪存储器的命令排程及执行方法,其特征在于,于读取一命令轮廓空间中储存的资讯,据以判断上述命令伫列中是否存在一优先级命令的步骤中,包含:读取上述寄存器的值,并判断上述寄存器的值是否大于0;
其中,于当上述命令伫列中存在上述优先级命令时,从上述命令伫列推出上述优先级命令并执行的步骤中,包含:当上述寄存器的值大于0时,从上述命令伫列推出上述优先级命令并执行;
其中,于当上述命令伫列中不存在上述优先级命令时,使用一排程演算法从上述命令伫列选择一简单读写命令并执行的步骤中,包含:当上述寄存器的值不大于0时,使用上述排程演算法从上述命令伫列选择上述简单读写命令并执行。
6.如权利要求1所述的快闪存储器的命令排程及执行方法,其特征在于,于读取一命令轮廓空间中储存的资讯,据以判断上述命令伫列中是否存在一优先级命令的步骤中,包含:
读取上述命令轮廓空间中储存的资讯,据以判断上述命令伫列中是否存在一最高优先级命令;以及
当不存在上述最高优先及命令时,根据上述命令轮廓空间中储存的资讯判断上述命令伫列中是否存在一次高优先级命令;
其中,于当上述命令伫列中存在上述优先级命令时,从上述命令伫列推出上述优先级命令并执行的步骤中,包含:
当上述命令伫列中存在上述最高优先级命令时,从上述命令伫列推出上述最高优先级命令并执行;以及
当上述命令伫列中存在上述次高优先级命令时,从上述命令伫列推出上述次高优先级命令并执行;
其中,于当上述命令伫列中不存在上述优先级命令时,使用一排程演算法从上述命令伫列选择一简单读写命令并执行的步骤中,包含:
当上述命令伫列中不存在上述最高优先级命令及上述次高优先级命令时,使用上述排程演算法从上述命令伫列选择上述简单读写命令并执行。
7.如权利要求6所述的快闪存储器的命令排程及执行方法,其特征在于,一命令轮廓产生器监看一存取介面写入上述命令伫列的所有命令,并且依据上述命令的属性资讯更新上述命令轮廓空间中储存的资讯;
其中,上述命令轮廓空间包含一最高优先级寄存器及一次高优先级寄存器;
其中,每当上述命令轮廓产生器从上述命令中之一者的属性资讯发现含有一最高优先级的资讯时,将上述最高优先级寄存器的值加1,以及
其中,每当上述命令轮廓产生器从上述命令中之一者的属性资讯发现含有一次高优先级的资讯时,将上述次高优先级寄存器的值加1。
8.如权利要求7所述的快闪存储器的命令排程及执行方法,其特征在于,上述最高优先级的资讯为特定的逻辑单元号码,以及上述次高优先级的资讯为一伫列顶旗标包含逻辑”1”。
9.如权利要求7所述的快闪存储器的命令排程及执行方法,其特征在于,于读取上述命令轮廓空间中储存的资讯,据以判断上述命令伫列中是否存在一最高优先级命令的步骤中,包含:读取上述最高优先级寄存器的值,并判断上述最高优先级寄存器的值是否大于0;
其中,于当不存在上述最高优先及命令时,根据上述命令轮廓空间中储存的资讯判断上述命令伫列中是否存在一次高优先级命令的步骤中,包含:当上述最高优先级寄存器的值是否不大于0时,读取上述次高优先级寄存器的值,并判断上述次高优先级寄存器的值是否大于0。
10.一种快闪存储器的命令排程及执行装置,包含:
一命令伫列;
一命令轮廓空间;以及
一命令轮廓产生器,耦接于上述命令轮廓空间及上述命令伫列,监看一存取介面写入上述命令伫列的所有命令,并且依据上述命令的属性资讯更新上述命令轮廓空间中储存的资讯,使得一处理单元可依据上述命令轮廓空间中储存的资讯判断上述命令伫列中是否存在一优先级命令。
11.如权利要求10所述的快闪存储器的命令排程及执行装置,其特征在于,上述处理单元不扫描上述命令伫列中的命令来判断上述命令伫列中是否存在上述优先级命令。
12.如权利要求10所述的快闪存储器的命令排程及执行装置,其特征在于,一主装置发送上述命令给上述存取介面,用以存取一储存单元中的数据。
13.如权利要求10所述的快闪存储器的命令排程及执行装置,其特征在于,上述命令轮廓空间包含一寄存器,以及,每当上述命令轮廓产生器从上述命令中之一者的属性资讯发现含有一优先级的资讯时,将上述寄存器的值加1。
14.如权利要求13所述的快闪存储器的命令排程及执行装置,其特征在于,包含:
一处理单元,耦接于上述命令轮廓空间及上述命令伫列,读取上述寄存器的值,并判断上述寄存器的值是否大于0;当上述寄存器的值大于0时,从上述命令伫列推出一优先级命令并执行;当上述寄存器的值不大于0时,使用一排程演算法从上述命令伫列选择一简单读写命令并执行。
15.如权利要求10所述的快闪存储器的命令排程及执行装置,其特征在于,上述命令轮廓空间包含一最高优先级寄存器及一次高优先级寄存器,以及,每当上述命令轮廓产生器从上述命令中之一者的属性资讯发现含有一最高优先级的资讯时,将上述最高优先级寄存器的值加1;及每当上述命令轮廓产生器从上述命令中之一者的属性资讯发现含有一次高优先级的资讯时,将上述次高优先级寄存器的值加1。
16.如权利要求15所述的快闪存储器的命令排程及执行装置,其特征在于,上述最高优先级的资讯为特定的逻辑单元号码,以及上述次高优先级的资讯为一伫列顶旗标包含逻辑”1”。
17.如权利要求15所述的快闪存储器的命令排程及执行装置,其特征在于,上述命令轮廓产生器,包含:
一第一比较器,取得每一上述命令中的一第一逻辑单元号码;判断上述第一逻辑单元号码是否符合一第二逻辑单元号码;以及当上述第一逻辑单元号码是否符合上述第二逻辑单元号码时,输出逻辑”1”,否则,输出逻辑”0”;
一第二比较器,取得每一上述命令中的一伫列顶旗标;判断上述伫列顶旗标是否为逻辑”1”;以及当上述伫列顶旗标为逻辑”1”时,输出逻辑”1”;否则,输出逻辑”0”;以及
一控制器,耦接于上述第一比较器、上述第二比较器、上述最高优先级寄存器及上述次高优先级寄存器,当上述第一比较器的输出为逻辑”1”时,将上述最高优先级寄存器的值加1;以及当上述第二比较器的输出为逻辑”1”时,将上述次高优先级寄存器的值加1。
18.如权利要求16所述的快闪存储器的命令排程及执行装置,其特征在于,包含:
一处理单元,耦接于上述命令轮廓空间及上述命令伫列,读取上述最高优先级寄存器的值,并判断上述最高优先级寄存器的值是否大于0;当上述最高优先级寄存器的值大于0时,从上述命令伫列推出一最高优先级命令并执行;当上述最高优先级寄存器的值不大于0时,读取上述次高优先级寄存器的值,并判断上述次高优先级寄存器的值是否大于0;当上述次高优先级寄存器的值大于0时,从上述命令伫列推出一次高优先级命令并执行;以及当上述次高优先级寄存器的值不大于0时,使用一排程演算法从上述命令伫列选择一简单读写命令并执行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106117575A TWI656445B (zh) | 2017-05-26 | 2017-05-26 | 快閃記憶體的命令排程及執行方法以及使用該方法的裝置 |
TW106117575 | 2017-05-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108932108A true CN108932108A (zh) | 2018-12-04 |
CN108932108B CN108932108B (zh) | 2021-07-06 |
Family
ID=64401197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810040402.2A Active CN108932108B (zh) | 2017-05-26 | 2018-01-16 | 快闪存储器的命令排程及执行方法以及使用该方法的装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10275181B2 (zh) |
CN (1) | CN108932108B (zh) |
TW (1) | TWI656445B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI805505B (zh) * | 2022-10-11 | 2023-06-11 | 慧榮科技股份有限公司 | 排程和執行主機資料更新命令的方法及電腦程式產品及裝置 |
TWI830608B (zh) * | 2023-02-22 | 2024-01-21 | 神雲科技股份有限公司 | 通用介面系統及其控制方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851073B (zh) * | 2018-08-20 | 2023-06-02 | 慧荣科技股份有限公司 | 储存装置及巨集指令的执行方法 |
US11720354B2 (en) | 2020-01-07 | 2023-08-08 | SK Hynix Inc. | Processing-in-memory (PIM) system and operating methods of the PIM system |
TW202141290A (zh) | 2020-01-07 | 2021-11-01 | 韓商愛思開海力士有限公司 | 記憶體中處理(pim)系統和pim系統的操作方法 |
EP3926452A1 (en) * | 2020-06-19 | 2021-12-22 | NXP USA, Inc. | Norflash sharing |
TWI818762B (zh) * | 2022-10-11 | 2023-10-11 | 慧榮科技股份有限公司 | 排程和執行主機資料更新命令的方法及電腦程式產品及裝置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6092158A (en) * | 1997-06-13 | 2000-07-18 | Intel Corporation | Method and apparatus for arbitrating between command streams |
US6182177B1 (en) * | 1997-06-13 | 2001-01-30 | Intel Corporation | Method and apparatus for maintaining one or more queues of elements such as commands using one or more token queues |
US20110131375A1 (en) * | 2009-11-30 | 2011-06-02 | Noeldner David R | Command Tag Checking in a Multi-Initiator Media Controller Architecture |
CN103870206A (zh) * | 2012-12-13 | 2014-06-18 | 华为技术有限公司 | 一种缓存数据接收和读取方法及装置、及路由器缓存装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW327690B (en) * | 1996-12-06 | 1998-03-01 | Philips Eloctronics N V | Multi-layer capacitor |
US8037234B2 (en) * | 2003-12-02 | 2011-10-11 | Super Talent Electronics, Inc. | Command queuing smart storage transfer manager for striping data to raw-NAND flash modules |
US8756369B2 (en) * | 2008-09-26 | 2014-06-17 | Netapp, Inc. | Priority command queues for low latency solid state drives |
US8534834B2 (en) * | 2008-09-30 | 2013-09-17 | Hoya Corporation | Progressive power lens, method of designing progressive power lens and method of evaluating progressive power lens |
-
2017
- 2017-05-26 TW TW106117575A patent/TWI656445B/zh active
-
2018
- 2018-01-05 US US15/863,531 patent/US10275181B2/en active Active
- 2018-01-16 CN CN201810040402.2A patent/CN108932108B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6092158A (en) * | 1997-06-13 | 2000-07-18 | Intel Corporation | Method and apparatus for arbitrating between command streams |
US6182177B1 (en) * | 1997-06-13 | 2001-01-30 | Intel Corporation | Method and apparatus for maintaining one or more queues of elements such as commands using one or more token queues |
US20110131375A1 (en) * | 2009-11-30 | 2011-06-02 | Noeldner David R | Command Tag Checking in a Multi-Initiator Media Controller Architecture |
CN103870206A (zh) * | 2012-12-13 | 2014-06-18 | 华为技术有限公司 | 一种缓存数据接收和读取方法及装置、及路由器缓存装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI805505B (zh) * | 2022-10-11 | 2023-06-11 | 慧榮科技股份有限公司 | 排程和執行主機資料更新命令的方法及電腦程式產品及裝置 |
TWI830608B (zh) * | 2023-02-22 | 2024-01-21 | 神雲科技股份有限公司 | 通用介面系統及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI656445B (zh) | 2019-04-11 |
CN108932108B (zh) | 2021-07-06 |
TW201901454A (zh) | 2019-01-01 |
US20180341430A1 (en) | 2018-11-29 |
US10275181B2 (en) | 2019-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108932108A (zh) | 快闪存储器的命令排程及执行方法以及使用该方法的装置 | |
US10628319B2 (en) | Methods for caching and reading data to be programmed into a storage unit and apparatuses using the same | |
TWI393150B (zh) | 最佳化記憶體操作之方法、主機裝置及資料儲存系統 | |
US8645637B2 (en) | Interruption of write memory operations to provide faster read access in a serial interface memory | |
US10725902B2 (en) | Methods for scheduling read commands and apparatuses using the same | |
US11086568B2 (en) | Memory system for writing fractional data into nonvolatile memory | |
US10168951B2 (en) | Methods for accessing data in a circular block mode and apparatuses using the same | |
US20120102262A1 (en) | Memory control device, storage device, and memory control method | |
CN106484315B (zh) | 读取及写入命令排程方法以及使用该方法的装置 | |
US20200356491A1 (en) | Data storage device and method for loading logical-to-physical mapping table thereof | |
US10776280B1 (en) | Data storage device and method for updating logical-to-physical mapping table | |
CN107797755A (zh) | 固态硬盘系统的原子写入方法以及使用该方法的装置 | |
US11307798B2 (en) | Storage device and method for performing macro command | |
CN112767976B (zh) | 平稳闪存写速度的方法、装置、存储介质和计算机设备 | |
US10387076B2 (en) | Methods for scheduling data-programming tasks and apparatuses using the same | |
CN110879794B (zh) | 存储器管理方法以及存储控制器 | |
CN116312699A (zh) | Qlc ssd写入方法、装置、计算机设备及存储介质 | |
CN110908592A (zh) | 存储器管理方法以及存储控制器 | |
CN109710179A (zh) | 一种存储服务质量控制方法及装置 |
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 |