CN106055267B - 包括主机命令队列的存储器控制器及操作其的方法 - Google Patents
包括主机命令队列的存储器控制器及操作其的方法 Download PDFInfo
- Publication number
- CN106055267B CN106055267B CN201510586430.0A CN201510586430A CN106055267B CN 106055267 B CN106055267 B CN 106055267B CN 201510586430 A CN201510586430 A CN 201510586430A CN 106055267 B CN106055267 B CN 106055267B
- Authority
- CN
- China
- Prior art keywords
- host
- memory
- command
- memory command
- queue
- 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
Images
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/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/0656—Data buffering arrangements
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
公开了一种存储器控制器,包括:主机接口,适用于将来自主机的多个主机命令排队在主机命令队列中;状态寄存器,适用于储存分别与所述多个主机命令相对应的就绪设定位;存储器命令发生单元,适用于产生分别与排队的主机命令相对应的存储器命令和状态更新信息并将其排队在存储器命令队列中;以及存储器命令执行单元,适用于响应于排队的存储器命令来执行操作。存储器命令执行单元从存储器命令队列获取与执行过的存储器命令相对应的状态更新信息,并基于获取的状态更新信息来更新与执行过的存储器命令相对应的主机命令的就绪设定位。
Description
相关申请的交叉引用
本申请要求2015年4月3日向韩国知识产权局提交的申请号为10-2015-0047633的韩国专利申请的优先权,其全部公开内容通过引用整体合并于此。
技术领域
本发明涉及一种电子器件,更具体地,涉及一种包括主机命令队列的存储器控制器及操作其的方法。
背景技术
半导体存储器件使用诸如硅(Si)、锗(Ge)、砷化镓(GaAs)和磷化铟(InP)的半导体。半导体存储器件通常分类为易失性存储器件和非易失性存储器件。
在无恒定的电源的情况下,易失性存储器件不能维持储存的数据。易失性存储器件的示例包括:静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)和同步DRAM(SDRAM)等。即便在无恒定的电源的情况下,非易失性存储器件仍能够维持它们储存的数据。非易失性存储器件包括:只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。闪速存储器通常划分为或非(NOR)型和与非(NAND)型。
存储器控制器响应于主机命令来产生存储器命令,并控制半导体存储器件来执行产生的存储器命令。存储器控制器包括用于将主机命令排队的主机命令队列。主机命令队列可以由存储器控制器之内的RAM组成。
发明内容
本发明试图提供具有改善的操作速度的存储器控制器及操作其的方法。
本发明的一个示例性实施例提供一种存储器控制器,包括:主机命令队列;主机接口,适用于将来自主机的多个主机命令排队在主机命令队列中;状态寄存器,适用于储存分别与多个主机命令相对应的就绪设定位(ready set bit),其中,就绪设定位中的每个指示多个主机命令中的对应的一个是否是就绪的且可得到的;存储器命令队列;存储器命令发生单元,适用于产生存储器命令和状态更新信息并将其排队在存储器命令队列中;以及存储器命令执行单元,适用于响应于排队的存储器命令来执行操作。存储器命令执行单元可以从存储器命令队列获取与执行过的存储器命令相对应的状态更新信息,并基于获取的状态更新信息来更新与执行过的存储器命令相对应的主机命令的就绪设定位。
主机接口可以响应于来自主机的就绪状态请求来将就绪设定位输出到主机。
存储器控制器可以接收针对多个主机命令的由主机选择的一部分的执行命令。
主机接口还可以从主机接收分别与多个主机命令相对应的多个任务ID。
就绪设定位可以分别对应于任务ID。
存储器命令发生单元还可以将分别与排队的主机命令相对应的任务ID和存储器命令一起排队在存储器命令队列中。
存储器命令执行单元可以从存储器命令队列检测与执行过的存储器命令相对应的任务ID,并根据获取的状态更新信息来更新状态寄存器之内的与检测到的任务ID相对应的就绪设定位。
本发明的另一个示例性实施例提供一种操作存储器控制器的方法,包括:将来自主机的多个主机命令排队在主机命令队列中;将分别与多个主机命令相对应的就绪设定位提供给状态寄存器;产生存储器命令和状态更新信息并将其排队在存储器命令队列中;响应于排队的存储器命令来执行操作;根据与执行过的存储器命令相对应的状态更新信息来更新与执行过的存储器命令相对应的主机命令的就绪设定位;以及响应于来自主机的就绪状态请求来将就绪设定位输出到主机。
本发明的又一个示例性实施例提供一种存储器控制器,包括:主机命令队列;主机接口,适用于将来自主机的多个主机命令和分别与多个主机命令相对应的任务ID排队在主机命令队列中;状态寄存器,适用于储存分别与任务ID相对应的就绪设定位;存储器命令队列;存储器命令发生单元,适用于产生存储器命令和状态更新信息并将其排队在存储器命令队列中;以及存储器命令执行单元,适用于响应于排队的存储器命令来执行操作。存储器命令执行单元可以从存储器命令队列获取与执行过的存储器命令相对应的状态更新信息,并基于获取的状态更新信息来更新与执行过的存储器命令相对应的主机命令的就绪设定位。
根据本发明的示例性实施例,提供了具有改善的操作速度的存储器控制器及其操作方法。
前述的概要仅是说明性的,并在任何方面都不意在为限制性的。除了以上描述的说明性的方面、实施例和特征之外,通过参考附图以及下面的详细描述,进一步的方面、实施例和特征将变得明显。
附图说明
通过参照附图来详细地描述本发明的实施例,本发明的以上的和其他的特征和优点对于本领域技术人员来说将变得更加明显,在附图中:
图1是图示根据本发明的一个示例性实施例的存储器控制器的框图;
图2是图示图1的半导体存储器件的框图;
图3是图示根据本发明的一个示例性实施例的操作存储器控制器的方法的流程图;
图4是用于图示从存储器命令队列输出存储器命令的过程的示图;
图5是图示根据本发明的一个示例性实施例的输出图1的状态寄存器的就绪设定位的过程的流程图;
图6是图示根据本发明的一个示例性实施例的响应于来自主机的执行命令而操作存储器控制器的方法的流程图;
图7是图示图3中的步骤S150的流程图;以及
图8是图示用于实施图1的存储器控制器的示例性实施例的框图。
具体实施方式
在下文中,将参照附图来详细地描述本发明的示例性实施例。在以下的描述中,应当注意的是,仅将解释用于理解根据本发明的操作所必需的部分,且将省略对其他部分的解释以免混淆本发明的主旨。然而,本发明不局限于本文中所描述的示例性实施例,并且可以以其他形式来详细说明。本示例性实施例被提供以详细地描述本发明使得本领域技术人员可以轻易地掌握本发明的技术主旨。
贯穿本说明书和所附权利要求书,当描述为元件“耦接”到另一个元件时,该元件可以“直接耦接”到另一个元件或通过第三元件“电耦接”到另一个元件。贯穿本说明书和所附权利要求书,除非另外地明确陈述,否则词“包括”(“comprise”及诸如“comprises”或“comprising”的变种)将被理解为暗含包括所述元件但不排除其他任何元件。
图1是图示根据本发明的一个示例性实施例的存储器控制器100的框图。
参见图1,存储器控制器100可以包括:主机接口110、存储器命令发生单元120、存储器命令执行单元130、RAM 140、主机命令队列HCQ、存储器命令队列MCQ和状态寄存器SRG。
主机接口110可以与主机Host通信。主机接口110可以在存储器命令发生单元120的控制下执行操作。主机接口110可以包括用于执行主机Host与存储器控制器100之间的数据交换的协议。作为示例性实施例,主机接口110可以通过各种接口协议(诸如,通用串行总线(USB)协议、多媒体卡(MMC)协议、外围部件互连(PCI)协议、PCI-快速(PCI-E)协议、高级技术附件(ATA)协议、串行ATA协议、并行ATA协议、小型计算机小接口(SCSI)协议、增强型小磁盘接口(ESDI)协议、集成驱动电路(IDE)协议以及私有协议)中的一种或更多种来与主机Host通信。
主机接口110可以从主机Host接收多个主机命令HCMD1到HCMDm。主机接口110可以将接收到的主机命令HCMD1到HCMDm排队在主机命令队列HCQ中。多个主机命令HCMD1到HCMDm可以是用于访问半导体存储器件200的命令。例如,主机命令可以是用于读取储存在半导体存储器件200中的数据的主机读取命令。例如,主机命令可以是用于将数据储存在半导体存储器件200中的主机编程命令。
可以维持排队在主机命令队列HCQ中的主机命令HCMD1到HCMDm,直到从主机Host接收到执行命令。之后将描述该执行命令。
主机Host可以在传送每个主机命令时传送对应的逻辑块地址。主机接口110可以将与对应的主机命令相关的逻辑块地址储存在RAM 140中。
在一个示例性实施例中,主机Host可以在传送每个主机命令时将每个主机命令和任务ID一起传送。任务ID可以是用于识别主机命令HCMD1到HCMDm中的每个的信息。在这种情形下,主机接口110可以将任务ID连同对应的主机命令排队在主机命令队列HCQ中。在图1中,第一主机命令HCMD1到第m主机命令HCMDm可以分别对应于第一任务ID到第m任务ID。第一主机命令HCMD1和第一任务ID TKID1可以包括在第一主机命令集HCS1中。第二主机命令HCMD2和第二任务ID TKID2可以包括在第二主机命令集HCS2中。第三主机命令HCMD3和第三任务ID TKID3可以包括在第三主机命令集HCS3中。第m主机命令HCMDm和第m任务ID TKIDm可以包括在第m主机命令集HCSm中。第一主机命令集HCS1到第m主机命令集HCSm可以根据先进先出原则而排队在主机命令队列HCQ中。
状态寄存器SRG可以储存就绪设定位RSB1到RSBm。可以通过存储器命令发生器120来初始化就绪设定位RSB1到RSBm。第一就绪设定位RSB1到第m就绪设定位RSBm可以通过初始化而具有第一设定值(例如,逻辑值“0”)。
在一个示例性实施例中,第一就绪设定位RSB1到第m就绪设定位RSBm可以包括在位映射图中以分别对应于第一任务ID TKID1到第m任务ID TKIDm。可以理解为状态寄存器SRG可以储存具有比m大的数目的就绪设定位。状态寄存器SRG可以储存与从主机Host可得到的任务ID同样多的就绪设定位。
主机接口110可以响应于来自主机Host的就绪状态请求信号RSR来将储存在状态寄存器SRG中的就绪设定位RSB1到RSBm输出到主机Host。主机Host可以基于就绪设定位RSB1到RSBm来确定存储器控制器100准备好执行主机命令HCMD1到HCMDm中的哪个。相应地,在存储器控制器100准备好分别执行主机命令HCMD1到HCMDm之后,需要立即更新就绪设定位RSB1到RSBm。主机Host可以通过查阅就绪设定位RSB1到RSBm来选择第一主机命令HCMD1到HCMDm中的一些主机命令,并将针对选定的主机命令的执行命令传送到存储系统100。存储器控制器100可以响应于执行命令来执行从第一主机命令HCMD1到第m主机命令HCMDm中选择的主机命令。
存储器命令发生单元120可以控制存储器控制器100的常规操作。存储器命令发生单元120可以执行闪速转换层的功能。存储器命令发生单元120可以将映射表MPT加载到RAM140,以及可以基于映射表MPT来执行闪速转换层的功能。
当主机命令HCMD1到HCMDm排队在主机命令队列HCQ中时,存储器命令发生单元120可以产生针对每个主机命令的存储器命令。对于单个主机命令,可能需要一个或更多个存储器命令。例如,当主机命令是针对特定逻辑块地址的主机读取命令时,可能需要储存物理块地址与逻辑块地址之间的映射信息的映射表MPT。当映射表MPT不包括逻辑块地址与物理块地址之间的映射信息时,存储器命令发生单元120可以产生用于从半导体存储器件200读取对应的映射信息的存储器命令。例如,为了获取关于选定的逻辑块地址的映射信息,存储器命令发生单元120可以产生用于读取半导体存储器件200之内的一个页的存储器读取命令。在这种情形下,该页可以储存关于选定的逻辑块地址的映射信息。对于另一个示例,为了获取关于选定的逻辑块地址的映射信息,存储器命令发生单元120可以产生用于读取半导体存储器件200之内的两个或更多个页的存储器读取命令。在这种情形下,两个或更多个页可以储存关于选定的逻辑块地址的映射信息。此外,可以理解,存储器命令发生单元120可以产生用于准备主机命令队列HCQ之内的每个主机命令的执行的各种存储器命令。
根据本发明的一个示例性实施例,存储器命令发生单元120可以产生与产生的存储器命令相对应的状态更新信息STUP。当状态更新信息STUP包括第一设定值时,在执行对应的存储器命令之后可以不更新状态寄存器SRG。当状态更新信息STUP包括第二设定值时,在执行对应的存储器命令之后可以更新状态寄存器SRG。在下文中,为了方便,第一设定值被例示为逻辑值“0”,而第二设定值被例示为逻辑值“1”。
存储器命令发生单元120可以将产生的存储器命令和状态更新信息STUP排队在存储器命令队列MCQ中。在一个示例性实施例中,存储器命令发生单元120可以将产生的存储器命令、主机命令HCMD1到HCMDm中与存储器命令相对应的一个主机命令的任务ID以及状态更新信息STUP作为单个存储器命令集MCS来排队在存储器命令队列MCQ中。存储器命令队列MCQ可以根据先入先出原则来输入/输出数据。
在图1中,第一存储器命令集MCS1到第五存储器命令集MCS5可以排队在存储器命令队列MCQ的首地址HD与尾地址TL之间。假定第一存储器命令MCMD1对应于第一主机命令HCMD1。在第一主机命令集HCS1中,第一主机命令HCMD1具有第一任务ID TKID1。例如,第一存储器命令MCMD1可以与第一任务ID TKID1以及具有逻辑值“1”的状态更新信息STUP排队在一起。
假定第二存储器命令MCMD2到第四存储器命令MCMD4对应于第二主机命令HCMD2。即,为了执行第二主机命令HCMD2,可以产生第二存储器命令MCMD2到第四存储器命令MCMD4。在第二主机命令集HCS2中,第二主机命令HCMD2具有第二任务ID TKID2。第二存储器命令MCMD2到第四存储器命令MCMD4中的每个可以与第二任务ID TKID2以及状态更新信息STUP排队在一起。例如,与第二存储器命令MCMD2到第四存储器命令MCMD4之中的在最后时间排队的存储器命令MCMD4相对应的状态更新信息STUP可以具有逻辑值“1”。例如,与第二存储器命令MCMD2到第四存储器命令MCMD4之中的剩余的存储器命令MCMD2和MCMD3相对应的状态更新信息STUP可以具有逻辑值“0”。
假定第五存储器命令MCMD5对应于第三主机命令HCMD3。例如,第五存储器命令MCMD5可以与第三任务ID TKID3以及具有逻辑值“1”的状态更新信息STUP排队在一起。
如上所述,可以产生针对第一主机命令集HCS1到第m主机命令集HCSm的存储器命令集MCS1到MCS5,且存储器命令集可以排队在存储器命令队列MCQ中。
存储器命令执行单元130可以执行储存在存储器命令队列MCQ中的存储器命令。存储器命令队列MCQ之内的第一存储器命令集MCS1到第五存储器命令集MCS5可以顺序地输出。存储器命令执行单元130可以将每个存储器命令提供给半导体存储器件200,以及可以接收对存储器命令的响应。当存储器命令是针对半导体存储器件200之内的页的存储器读取命令时,半导体存储器件200可以将储存在选定的页中的数据输出作为响应。在这种情形下,存储器命令执行单元130可以将从半导体存储器件200接收的数据作为映射信息来更新在映射表MPT中。
根据本发明的一个示例性实施例,存储器命令执行单元130可以执行从存储器命令队列MCQ输出的存储器命令,然后可以查阅与针对其的操作完成的存储器命令相对应的状态更新信息STUP。可以查阅包括执行过的存储器命令的存储器命令集的状态更新信息STUP。存储器命令执行单元130可以根据查阅到的状态更新信息STUP来更新就绪设定位RSB1到RSBm中与针对其的操作完成的存储器命令相对应的一个就绪设定位。更具体地,可以输出单个存储器命令集,以及半导体存储器件200可以响应于包括在输出的存储器命令集中的存储器命令来执行操作。当包括在输出的存储器命令集中的状态更新信息STUP是逻辑值“1”时,存储器命令执行单元130可以更新状态寄存器SRG中的包括在输出的存储器命令集中的任务ID的就绪设定位。
例如,可以从存储器命令队列MCQ输出第一存储器命令集MCS1。半导体存储器件200可以响应于第一存储器命令MCMD1来执行操作。当响应于第一存储器命令MCMD1的操作完成时,存储器命令执行单元130可以通过查阅第一存储器命令集MCS1中具有逻辑值“1”的状态更新信息STUP来更新与第一任务ID TKID1相对应的第一就绪设定位RSB1。例如,存储器命令执行单元130可以更新状态寄存器SRG,使得第一就绪设定位RSB1具有逻辑值“1”。
然后,可以从存储器命令队列MCQ输出第二存储器命令集MCS2。半导体存储器件200可以响应于第二存储器命令MCMD2来执行操作。第二存储器命令集MCS2中的状态更新信息STUP具有逻辑值“0”。存储器命令执行单元130可以不更新状态寄存器SRG。可以从存储器命令队列MCQ输出第三存储器命令集MCS3。在半导体存储器件200完成响应于第三存储器命令MCMD3的操作之后,根据第三存储器命令集MCS3中的具有逻辑值“0”的状态更新信息STUP,可以不更新状态寄存器SRG。可以从存储器命令队列MCQ输出第四存储器命令集MCS4。半导体存储器件200可以响应于第四存储器命令MCMD4来执行操作。第四存储器命令集MCS4可以包括具有逻辑值“1”的状态更新信息STUP。第四存储器命令集MCS4可以包括第二任务ID TKID2。存储器命令执行单元130可以基于第四存储器命令集MCS4中的具有逻辑值“1”的状态更新信息STUP来更新状态寄存器SRG,使得与第二任务ID TKID2相对应的第二就绪设定位RSB2具有逻辑值“1”。结果,在响应于针对第二主机命令HCMD2的所有存储器命令MCMD2到MCMD4的操作完成之后,可以更新对应的就绪设定位RSB2。
在一个示例性实施例中,存储器命令队列MCQ可以被提供为独立于存储器命令发生单元120的单个硬件模块。
为了与本发明的一个示例性实施例相比较,假定存储器命令发生单元120更新状态寄存器SRG的就绪设定位RSB1到RSBm。在半导体存储器件200完成响应于存储器命令的操作之后,存储器命令执行单元130可以产生例如中断信号,并将与存储器命令相对应的操作的完成告知存储器命令发生单元120。存储器命令发生单元120可以响应于中断信号来停止正在进行的操作(其已经开始执行),确定对应的就绪设定位,以及更新确定的就绪设定位。中断信号的重复产生可以降低存储器命令发生单元120的速度。
根据一个示例性实施例,在存储器命令发生单元120产生存储器命令之后,可以在不妨碍存储器命令发生单元120的情况下更新状态寄存器SRG中的对应的就绪设定位。为了此目的,存储器命令发生单元120可以将状态更新信息STUP与存储器命令一起排队在存储器命令队列MCQ中。在半导体存储器件200完成响应于存储器命令的操作之后,存储器命令执行单元130可以基于对应的状态更新信息STUP来更新状态寄存器SRG中的对应的就绪设定位。相应地,可以改善存储器命令发生单元120和存储器控制器100的操作速度。
图2是图示图1的半导体存储器件200的框图。
参见图2,半导体存储器件200可以包括:存储单元阵列210以及用于驱动存储单元阵列210的外围电路220。半导体存储器件200可以在存储器控制器100的控制下执行操作。存储单元阵列210可以包括第一存储块BLK1到第z存储块BLKz。第一存储块BLK1到第z存储块BLKz中的每个可以包括第一页PG1到第n页PGn。第一页PG1到第n页PGn中的每个可以包括多个存储单元。
外围电路220可以控制存储单元阵列210。外围电路220可以在存储器控制器100的控制下执行操作。外围电路220可以响应于来自存储器控制器100的存储器命令来将数据编程在存储单元阵列210中、从存储单元阵列210读取数据或擦除存储单元阵列210的数据。
在一个示例性实施例中,可以以页为单位来执行半导体存储器件200的读取操作和编程操作。在编程操作期间,外围电路220可以从存储器控制器100接收存储器命令、物理块地址和数据。可以通过物理块地址选择一个存储块以及包括在该一个存储块中的一个页。外围电路220可以将数据编程到选定的页中。在读取操作期间,外围电路220可以从存储器控制器100接收存储器命令和物理块地址。可以通过物理块地址选择一个存储块以及包括在该一个存储块中的一个页。外围电路220可以从选定的页读取数据,并将读取的数据输出到存储器控制器100。
在一个示例性实施例中,半导体存储器件200可以是闪速存储器件。
图3是图示根据本发明的一个示例性实施例的存储器控制器100的操作方法的流程图。图4是图示从存储器命令队列MCQ输出存储器命令的过程的示图。
参见图1和图3,在步骤S110处,可以将来自主机Host的多个主机命令HCMD1到HCMDm排队在主机命令队列HCQ中。在一个示例性实施例中,也可以将分别与排队的主机命令相对应的任务ID排队在主机命令队列HCQ中。排队的主机命令和对应的任务ID可以分别形成主机命令集HCS。
然后,可以对多个主机命令HCMD1到HCMDm中的每个执行准备操作。
在步骤S120,可以产生与每个主机命令相对应的存储器命令和状态更新信息STUP。状态更新信息STUP可以指示在响应于存储器命令的操作完成之后是否更新状态寄存器SRG。存储器命令发生单元120可以产生针对主机命令队列HCQ中的每个主机命令的操作的一个或更多个存储器命令。例如,当与主机命令一起输入的、与主机命令相对应的逻辑块地址不在映射表MPT中时,存储器命令发生单元120可以产生用于从半导体存储器件200获取关于逻辑块地址的映射信息的一个或更多个存储器命令。在这种情形下,存储器命令可以是存储器读取命令。
当产生存储器命令时,存储器命令发生单元120可以产生与存储器命令相对应的状态更新信息STUP。
在步骤S130,可以将产生的存储器命令和对应的状态更新信息STUP排队在存储器命令队列MCQ中。在图1中,可以将第一存储器命令MCMD1到第五存储器命令MCMD5以及分别与第一存储器命令MCMD1到第五存储器命令MCMD5相对应的状态更新信息STUP顺序地排队在存储器命令队列MCQ中。例如,第一存储器命令MCMD1可以具有具有逻辑值“1”的状态更新信息STUP,第二存储器命令MCMD2和第三存储器命令MCMD3可以具有具有逻辑值“0”的状态更新信息STUP,以及第四存储器命令MCMD4和第五存储器命令MCMD5可以具有具有逻辑值“1”的状态更新信息STUP。
尽管在图1中未图示,但也可以将与剩余的主机命令HCMD4到HCMDm相对应的存储器命令排队在存储器命令队列MCQ中。
在一个示例性实施例中,可以将分别与主机命令队列HCQ中的排队的主机命令相对应的且因此分别与存储器命令队列MCQ中的排队的存储器命令相对应的任务ID排队在存储器命令队列MCQ中。排队的存储器命令、对应的状态更新信息STUP以及对应的任务ID可以分别形成存储器命令集MCS。
例如,第一存储器命令MCMD1可以对应于第一主机命令HCMD1。第一存储器命令集MCS1可以包括第一存储器命令MCMD1、第一任务ID TKID1以及具有逻辑值“1”的状态更新信息STUP。第二存储器命令MCMD2到第四存储器命令MCMD4可以对应于第二主机命令HCMD2。第二主机命令HCMD2可以具有第二任务ID TKID2。第二存储器命令MCMD2、第二任务ID TKID2以及具有逻辑值“0”的状态更新信息STUP可以作为第二存储器命令集MCS2来排队。第三存储器命令MCMD3、第二任务ID TKID2以及具有逻辑值“0”的状态更新信息STUP可以作为第三存储器命令集MCS3来排队。第四存储器命令MCMD4、第二任务ID TKID2以及具有逻辑值“1”的状态更新信息STUP可以作为第四存储器命令集MCS4来排队。第五存储器命令MCMD5可以对应于第三主机命令HCMD3。第五存储器命令MCMD5、第三任务ID TKID3以及具有逻辑值“1”的状态更新信息STUP可以作为第五存储器命令集MCS5来排队。
在步骤S130之后,每当响应于排队的存储器命令的一个或更多个操作完成时可以根据存储器命令队列MCQ中的对应的状态更新信息STUP的值来选择性地更新状态寄存器SRG,而不妨碍存储器命令发生单元120。
在步骤S140,可以执行响应于从存储器命令队列MCQ输出的存储器命令的操作。存储器命令执行单元130可以基于先进先出原则,根据包括在存储器命令队列MCQ的第一存储器命令集MCS1到第五存储器命令集MCS5中的存储器命令来顺序地执行操作。
图4是用于图示从存储器命令队列MCQ输出存储器命令的过程的示图。参见图4,存储器命令执行单元130可以根据储存在存储器命令队列MCQ的首地址HD与尾地址TL之间的第一存储器命令集MCS1到第五存储器命令集MCS5中包括的存储器命令来顺序地执行操作。存储器命令执行单元130可以从存储器命令发生单元120获取首地址HD和尾地址TL,并基于先进先出原则,根据包括在存储器命令队列MCQ的第一存储器命令集MCS1到第五存储器命令集MCS5中的存储器命令来顺序地执行操作。
重新参见图3,在步骤S150处,可以根据与响应于其的一个或更多个操作完成的存储器命令相对应的状态更新信息STUP来更新对应的主机命令的就绪设定位。
当与完成的存储器命令相对应的状态更新信息具有逻辑值“1”时,可以更新对应的主机命令的就绪设定位。当与完成的存储器命令相对应的状态更新信息具有逻辑值“0”时,可以不更新对应的主机命令的就绪设定位。
在一个示例性实施例中,可以根据对应的状态更新信息STUP来更新与包括在存储器命令队列MCQ的各个存储器命令集MCS中的任务ID相对应的第一就绪设定位RSB1到第m就绪设定位RSBm。例如,当响应于第一存储器命令集MCS1(其包括第一存储器命令MCMD1、对应的状态更新信息STUP和第一任务ID TKID1)中的第一存储器命令MCMD1的操作完成时,可以根据具有值“1”的对应的状态更新信息STUP来将与第一任务ID TKID1相对应的第一就绪设定位RSB1更新为逻辑值“1”。当与第二存储器命令集MCS2和第三存储器命令集MCS3相对应的操作完成时,可以根据第二存储器命令集MCS2和第三存储器命令集MCS3中的具有逻辑值“0”的状态更新信息STUP来将与第二任务ID TKID2相对应的第二就绪设定位RSB2维持为逻辑值“0”。当与第四存储器命令集MCS4相对应的操作完成时,可以根据第四存储器命令集MCS4中的具有逻辑值“1”的状态更新信息STUP来将与第二任务ID TKID2相对应的第二就绪设定位RSB2更新为逻辑值“1”。即,可以在与第二就绪设定位RSB2相对应的第二主机命令HCMD2就绪且可得到时将第二就绪设定位RSB2更新为逻辑值“1”。当与第五存储器命令集MCS5相对应的操作完成时,可以根据第五存储器命令集MCS5中的具有逻辑值“1”的状态更新信息STUP来将与第三任务ID TKID3相对应的第三就绪设定位RSB3更新为逻辑值“1”。
根据本发明的示例性实施例,可以将状态更新信息STUP与存储器命令一起排队在存储器命令队列MCQ中。然后,每当响应于排队的存储器命令的一个或更多个操作完成时,可以根据存储器命令队列MCQ中的对应的状态更新信息STUP的值来选择性地更新状态寄存器SRG,而不妨碍存储器命令发生单元120。相应地,可以改善存储器命令发生单元120和存储器控制器100的操作速度。
图5是图示根据本发明的一个示例性实施例的将图1中示出的状态寄存器SRG中的就绪设定位RSB1到RSBm输出的过程的流程图。
参见图1和图5,在步骤S210处,存储器控制器100可以从主机Host接收用于查询就绪设定位RSB1到RSBm的就绪状态请求信号RSR。在步骤S220处,主机接口110可以将储存在状态寄存器SRG中的就绪设定位RSB1到RSBm输出到主机Host。
如参照图3的步骤S150所描述的,可以根据对应的状态更新信息STUP来更新与存储器命令队列MCQ的第一存储器命令集MCS1到第m存储器命令集MCSm中包括的第一任务IDTKID1到第m任务ID TKIDm相对应的第一就绪设定位RSB1到第m就绪设定位RSBm。同样如参照图1所描述的,第一主机命令HCMD1到第m主机命令HCMDm可以分别对应于第一任务ID到第m任务ID。因此,第一主机命令HCMD1到第m主机命令HCMDm、第一存储器命令MCMD1到第m存储器命令MCMDm、状态更新信息STUP以及第一就绪设定位RSB1到第m就绪设定位RSBm可以分别通过第一任务ID TKID1到第m任务ID TKIDm而相互对应。通过在步骤S220处从主机接口110传送的第一就绪设定位RSB1到第m就绪设定位RSBm,主机Host可以确定第一主机命令HCMD1到第m主机命令HCMDm中的哪一个是就绪的且可得到的。
主机Host可以根据在步骤S220处接收到的第一就绪设定位RSB1到第m就绪设定位RSBm来输出针对从第一主机命令HCMD1到第m主机命令HCMDm中选择的主机命令的执行命令。在一个示例性实施例中,执行命令可以包括用于识别与就绪且可得到的第一主机命令HCMD1到第m主机命令HCMDm中的一个或更多个相对应的第一任务ID TKID1到第m任务IDTKIDm的信息,且可以根据该信息的逻辑值来选择第一任务ID TKID1到第m任务ID TKIDm。
图6是图示根据本发明的一个示例性实施例的响应于来自主机Host的执行命令来操作存储器控制器100的方法的流程图。
参见图1和图6,在步骤S310处,存储器控制器100可以从主机Host接收执行命令。执行命令可以包括用于识别与就绪且可得到的第一主机命令HCMD1到第m主机命令HCMDm中的一个或更多个相对应的第一任务ID TKID1到第m任务ID TKIDm的信息。通过执行命令,可以从第一主机命令HCMD1到第m主机命令HCMDm选择一个或更多个就绪且可得到的主机命令。
在步骤S320处,存储器命令发生单元120可以响应于执行命令来产生与选定的主机命令相对应的存储器命令,且可以将产生的存储器命令排队在存储器命令队列MCQ中。
存储器命令发生单元120可以执行闪速转换层的功能。存储器命令发生单元120可以通过查阅映射表MPT来将每个主机命令的逻辑块地址转换为物理块地址。当存储器命令被储存在存储器命令队列MCQ中时,存储器命令发生单元120可以将与存储器命令相关的对应的物理块地址储存在RAM 140中。
在步骤S330处,存储器命令执行单元130可以基于先进先出原则,根据存储器命令队列MCQ的存储器命令集中包括的存储器命令来顺序地执行操作。存储器命令执行单元130可以将每个存储器命令和与存储器命令相关的储存在RAM 140中的物理块地址一起传送给半导体存储器件200。当存储器命令是存储器读取命令时,可以接收储存在半导体存储器件200中的数据。当存储器命令是存储器编程命令时,存储器命令执行单元130可以将要编程的数据传送到半导体存储器件200。
图7是图示图3的步骤S150的流程图。如参照图3的步骤S150所描述的,可以根据对应的状态更新信息STUP来更新与存储器命令队列MCQ的第一存储器命令集MCS1到第m存储器命令集MCSm中包括的第一任务ID TKID1到第m任务ID TKIDm相对应的第一就绪设定位RSB1到第m就绪设定位RSBm。同样如以上所描述的,第一主机命令HCMD1到第m主机命令HCMDm、第一存储器命令MCMD1到第m存储器命令MCMDm、状态更新信息STUP以及第一就绪设定位RSB1到第m就绪设定位RSBm可以分别通过第一任务ID TKID1到第m任务ID TKIDm而相互对应。
参见图1和图7,在步骤S151处,存储器命令执行单元130可以从存储器命令队列MCQ获取与响应于其的一个或更多个操作完成的存储器命令相对应的状态更新信息STUP。例如,当响应于第一存储器命令集MCS1(其包括第一存储器命令MCMD1、对应的状态更新信息STUP和第一任务ID TKID1)中的第一存储器命令MCMD1的操作完成时,可以获取具有逻辑值“1”的对应的状态更新信息STUP。当响应于第二存储器命令集MCS2(其包括第二存储器命令MCMD2、对应的状态更新信息STUP和第二任务ID TKID2)中的第二存储器命令MCMD2的操作完成时,可以获取具有逻辑值“0”的对应的状态更新信息STUP。
在步骤S152处,存储器命令执行单元130可以判断获取的状态更新信息STUP是否具有逻辑值“1”。当获取的状态更新信息STUP具有逻辑值“1”(在步骤S152处,“是”)时,存储器命令执行单元130可以在步骤S153处将对应的主机命令的就绪设定位更新为第二设定值(例如,逻辑值“1”)。例如,在响应于第一存储器命令集MCS1中的第一存储器命令MCMD1的操作完成之后,可以根据状态更新信息STUP(其对应于第一存储器命令MCMD1且具有逻辑值“1”)来将第一就绪设定位RSB1更新为第二设定值。当获取的状态更新信息STUP具有逻辑值“0”(在步骤S152处,“否”)时,存储器命令执行单元130可以在步骤S154处将对应的主机命令的就绪设定位更新为第二设定值(例如,逻辑值“1”)。在响应于第二存储器命令集MCS2中的第二存储器命令MCMD2的操作完成之后,可以根据状态更新信息STUP(其对应于第二存储器命令MCMD2且具有逻辑值“0”)来将第二就绪设定位RSB2维持为第一设定值。
图8是图示用于实施图1的存储器控制器100的示例性实施例1200的框图。
参见图8,控制器1200可以包括:随机存取存储器(RAM)1210、处理单元1220、主机接口1230、存储器接口1240和错误校正块1250。
处理单元1220可以控制控制器1200的常规操作。RAM 1210可以用作处理单元1220的操作存储器、图1的半导体存储器件200与图1的主机Host之间的高速缓冲存储器以及半导体存储器件200与主机Host之间的缓冲存储器之中的一种或更多种。处理单元1220和RAM1210可以执行图1的存储器命令发生单元120的功能。例如,处理单元1220可以通过将编程命令、数据文件和数据结构等加载到RAM 1210并执行加载的数据来执行存储器命令发生单元120的功能。
此外,RAM 1210可以用作图1的RAM 140。虽然图8图示提供了一个RAM 1210,但可以提供两个或更多个RAM。
主机接口1230可以包括用于执行主机与控制器1200之间的数据交换的协议。主机接口1230可以执行图1的主机接口110的功能。
存储器接口1240与半导体存储器件200接口。错误校正块1250可以通过使用错误校正码来校正从半导体存储器件200读取的数据的错误。存储器接口1240和错误校正块1250可以执行图1的存储器命令执行单元130的功能。
根据本发明的一个示例性实施例,可以将状态更新信息STUP与存储器命令MCMD一起排队在存储器命令队列MCQ中。然后,每当针对每个存储器命令的操作完成时,可以根据对应的状态更新信息STUP来选择性地更新状态寄存器SRG中的就绪设定位RSB,而不妨碍存储器命令发生单元。相应地,可以改善存储器命令发生单元和存储器控制器的操作速度。
如上所述,在附图和说明书中已经公开了实施例。本文中所使用的特定术语是为了说明,而不限制如权利要求书中所限定的本发明的范围。相应地,本领域技术人员将理解,在不脱离本公开的范围和精神的情况下,可以做出各种变型和其他示例。因此,本发明的范围将由所附权利要求书的技术主旨来限定。
通过以上实施例可以看出,本发明提供以下技术方案。
技术方案1.一种存储器控制器,包括:
主机命令队列;
主机接口,适用于将来自主机的多个主机命令排队在主机命令队列中;
状态寄存器,适用于储存分别对应于所述多个主机命令的就绪设定位,其中,就绪设定位中的每个指示所述多个主机命令中的对应的一个是否是就绪的且可得到的;
存储器命令队列;
存储器命令发生单元,适用于产生存储器命令和状态更新信息并将其排队在存储器命令队列中;以及
存储器命令执行单元,适用于响应于排队的存储器命令来执行操作,
其中,存储器命令执行单元从存储器命令队列获取与执行过的存储器命令相对应的状态更新信息,并基于获取的状态更新信息来更新与执行过的存储器命令相对应的主机命令的就绪设定位。
技术方案2.如技术方案1所述的存储器控制器,其中,主机接口响应于来自主机的就绪状态请求来将就绪设定位输出到主机。
技术方案3.如技术方案2所述的存储器控制器,其中,存储器控制器接收针对主机命令中的由主机选择的一些主机命令的执行命令。
技术方案4.如技术方案3所述的存储器控制器,其中,存储器命令发生单元响应于执行命令来产生用于执行选定的主机命令的多个存储器命令,并将产生的所述多个存储器命令排队在存储器命令队列中。
技术方案5.如技术方案4所述的存储器控制器,其中,存储器命令执行单元响应于排队的存储器命令来执行操作。
技术方案6.如技术方案1所述的存储器控制器,其中,主机接口还从主机接收分别与所述多个主机命令相对应的多个任务ID。
技术方案7.如技术方案6所述的存储器控制器,其中,主机接口还将所述多个主机命令与对应的任务ID一起排队在主机命令队列中。
技术方案8.如技术方案6所述的存储器控制器,其中,就绪设定位分别对应于任务ID。
技术方案9.如技术方案8所述的存储器控制器,其中,存储器命令发生单元还将分别与排队的主机命令相对应的任务ID和存储器命令一起排队在存储器命令队列中。
技术方案10.如技术方案9所述的存储器控制器,其中,存储器命令执行单元从存储器命令队列检测与执行过的存储器命令相对应的任务ID,并根据获取的状态更新信息来更新状态寄存器之内的与检测到的任务ID相对应的就绪设定位。
技术方案11.一种操作存储器控制器的方法,包括:
将来自主机的多个主机命令排队在主机命令队列中;
将分别与所述多个主机命令相对应的就绪设定位提供给状态寄存器;
产生存储器命令和状态更新信息并将其排队在存储器命令队列中;
响应于排队的存储器命令来执行操作;
根据与执行过的存储器命令相对应的状态更新信息来更新与执行过的存储器命令相对应的主机命令的就绪设定位;
响应于来自主机的就绪状态请求来将就绪设定位输出到主机。
技术方案12.如技术方案11所述的方法,其中,就绪设定位中的每个指示所述多个主机命令中的对应的一个是否是就绪的且可得到的。
技术方案13.如技术方案11所述的方法,还包括:接收针对主机命令中的由主机选择的一些主机命令的执行命令。
技术方案14.如技术方案13所述的方法,还包括:响应于执行命令来产生分别与选定的主机命令相对应的存储器命令和状态更新信息并将其排队在存储器命令队列中。
技术方案15.如技术方案11所述的方法,还包括:从主机接收分别与所述多个主机命令相对应的多个任务ID。
技术方案16.如技术方案15所述的方法,其中,将所述多个主机命令排队包括:将所述多个主机命令与对应的任务ID一起排队在主机命令队列中。
技术方案17.如技术方案15所述的方法,其中,就绪设定位分别对应于任务ID。
技术方案18.如技术方案17所述的方法,其中,将状态更新信息排队包括:将分别与排队的主机命令相对应的任务ID和存储器命令一起排队在存储器命令队列中。
技术方案19.如技术方案18所述的方法,其中,更新就绪设定位包括:
从存储器命令队列检测与执行过的存储器命令相对应的任务ID;以及
根据与执行过的存储器命令相对应的状态更新信息来更新状态寄存器之内的与检测到的任务ID相对应的就绪设定位。
技术方案20.一种存储器控制器,包括:
主机命令队列;
主机接口,适用于将来自主机的多个主机命令以及分别与所述多个主机命令相对应的任务ID排队在主机命令队列中;
状态寄存器,适用于储存分别与任务ID相对应的就绪设定位;
存储器命令队列;
存储器命令发生单元,适用于产生存储器命令和状态更新信息并将其排队在存储器命令队列中;以及
存储器命令执行单元,适用于响应于排队的存储器命令来执行操作,
其中,存储器命令执行单元从存储器命令队列获取与执行过的存储器命令相对应的状态更新信息,并基于获取的状态更新信息来更新与执行过的存储器命令相对应的主机命令的就绪设定位。
Claims (12)
1.一种存储器控制器,包括:
主机命令队列;
主机接口,被配置为将来自主机的多个主机命令排队在主机命令队列中;
状态寄存器,被配置为储存分别对应于所述多个主机命令的就绪设定位,其中,就绪设定位中的每个位指示所述多个主机命令中的对应的一个是否是就绪的且可得到的;
存储器命令队列;
存储器命令发生单元,被配置为产生存储器命令和状态更新信息并将存储器命令和状态更新信息排队在存储器命令队列中;以及
存储器命令执行单元,被配置为响应于排队的存储器命令来执行操作,
其中,存储器命令执行单元从存储器命令队列获取与执行过的存储器命令相对应的状态更新信息,并基于获取的状态更新信息来更新与执行过的存储器命令相对应的、主机命令的就绪设定位,
其中,主机接口还从主机接收分别与所述多个主机命令相对应的多个任务ID,
其中,就绪设定位分别对应于所述任务ID,
其中,存储器命令发生单元还分别将与排队的主机命令相对应的任务ID和存储器命令一起排队在存储器命令队列中,
其中,存储器命令执行单元从存储器命令队列检测与执行过的存储器命令相对应的任务ID,并根据获取的状态更新信息来更新状态寄存器之内的与检测到的任务ID相对应的就绪设定位。
2.如权利要求1所述的存储器控制器,其中,主机接口响应于来自主机的就绪状态请求来将就绪设定位输出到主机。
3.如权利要求2所述的存储器控制器,其中,存储器控制器接收针对主机命令中的由主机选择的一些主机命令的执行命令。
4.如权利要求3所述的存储器控制器,其中,存储器命令发生单元响应于执行命令来产生用于执行选定的主机命令的多个存储器命令,并将产生的所述多个存储器命令排队在存储器命令队列中。
5.如权利要求4所述的存储器控制器,其中,存储器命令执行单元响应于排队的存储器命令来执行操作。
6.如权利要求1所述的存储器控制器,其中,主机接口还将所述多个主机命令与对应的任务ID一起排队在主机命令队列中。
7.一种操作存储器控制器的方法,包括:
从主机接收多个主机命令以及分别与所述多个主机命令相对应的多个任务ID;
将来自主机的所述多个主机命令排队在主机命令队列中;
将分别与所述多个主机命令相对应的就绪设定位提供给状态寄存器;
产生存储器命令和状态更新信息并将存储器命令和状态更新信息排队在存储器命令队列中;
响应于排队的存储器命令来执行操作;
根据与执行过的存储器命令相对应的状态更新信息来更新与执行过的存储器命令相对应的、主机命令的就绪设定位;
响应于来自主机的就绪状态请求来将就绪设定位输出到主机,
其中,就绪设定位分别对应于所述任务ID;
其中,将存储器命令和状态更新信息排队包括:分别将与排队的主机命令相对应的任务ID和存储器命令一起排队在存储器命令队列中;
其中,更新就绪设定位包括:
从存储器命令队列检测与执行过的存储器命令相对应的任务ID;以及
根据与执行过的存储器命令相对应的状态更新信息来更新状态寄存器之内的与检测到的任务ID相对应的就绪设定位。
8.如权利要求7所述的方法,其中,就绪设定位中的每个位指示所述多个主机命令中的对应的一个是否是就绪的且可得到的。
9.如权利要求7所述的方法,还包括:接收针对主机命令中的由主机选择的一些主机命令的执行命令。
10.如权利要求9所述的方法,还包括:响应于执行命令来产生分别与选定的主机命令相对应的存储器命令和状态更新信息并将存储器命令和状态更新信息排队在存储器命令队列中。
11.如权利要求7所述的方法,其中,将所述多个主机命令排队包括:将所述多个主机命令与对应的任务ID一起排队在主机命令队列中。
12.一种存储器控制器,包括:
主机命令队列;
主机接口,被配置为将来自主机的多个主机命令以及分别与所述多个主机命令相对应的任务ID排队在主机命令队列中;
状态寄存器,被配置为储存分别与任务ID相对应的就绪设定位;
存储器命令队列;
存储器命令发生单元,被配置为产生存储器命令和状态更新信息并将存储器命令和状态更新信息排队在存储器命令队列中;以及
存储器命令执行单元,被配置为响应于排队的存储器命令来执行操作,
其中,存储器命令执行单元从存储器命令队列获取与执行过的存储器命令相对应的状态更新信息,并基于获取的状态更新信息来更新与执行过的存储器命令相对应的、主机命令的就绪设定位,
其中,存储器命令发生单元还分别将与排队的主机命令相对应的任务ID和存储器命令一起排队在存储器命令队列中,以及
其中,存储器命令执行单元从存储器命令队列检测与执行过的存储器命令相对应的任务ID,并根据获取的状态更新信息来更新状态寄存器之内的与检测到的任务ID相对应的就绪设定位。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150047633A KR20160118836A (ko) | 2015-04-03 | 2015-04-03 | 호스트 커맨드 큐를 포함하는 메모리 컨트롤러 및 그것의 동작 방법 |
KR10-2015-0047633 | 2015-04-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106055267A CN106055267A (zh) | 2016-10-26 |
CN106055267B true CN106055267B (zh) | 2020-09-01 |
Family
ID=57015316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510586430.0A Active CN106055267B (zh) | 2015-04-03 | 2015-09-15 | 包括主机命令队列的存储器控制器及操作其的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9652177B2 (zh) |
KR (1) | KR20160118836A (zh) |
CN (1) | CN106055267B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10318193B2 (en) * | 2015-09-14 | 2019-06-11 | Sandisk Technologies Llc | Systems and methods of command authorization |
KR20180062062A (ko) * | 2016-11-30 | 2018-06-08 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
CN106547492B (zh) * | 2016-12-08 | 2018-03-20 | 北京得瑞领新科技有限公司 | 一种nand闪存设备的操作指令调度方法及装置 |
US10509569B2 (en) * | 2017-03-24 | 2019-12-17 | Western Digital Technologies, Inc. | System and method for adaptive command fetch aggregation |
KR20180114972A (ko) * | 2017-04-11 | 2018-10-22 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20180118329A (ko) | 2017-04-21 | 2018-10-31 | 에스케이하이닉스 주식회사 | 메모리 시스템, 데이터 처리 시스템 및 그것의 동작 방법 |
US10712949B2 (en) * | 2017-11-09 | 2020-07-14 | Western Digital Technologies, Inc. | Adaptive device quality of service by host memory buffer range |
US10303384B1 (en) | 2017-11-28 | 2019-05-28 | Western Digital Technologies, Inc. | Task readiness for queued storage tasks |
KR102446733B1 (ko) * | 2017-11-30 | 2022-09-23 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치를 포함하는 전자 장치 |
KR102426107B1 (ko) * | 2017-12-20 | 2022-07-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR102514772B1 (ko) * | 2017-12-28 | 2023-03-28 | 삼성전자주식회사 | 비동기적 동작 수행이 가능한 비휘발성 메모리 장치와 이를 포함하는 메모리 시스템, 그리고 이의 동작 수행 방법 |
KR20190090268A (ko) * | 2018-01-24 | 2019-08-01 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
KR20190106228A (ko) * | 2018-03-08 | 2019-09-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102569435B1 (ko) * | 2018-06-27 | 2023-08-24 | 에스케이하이닉스 주식회사 | 융합형 반도체 장치 및 동작 방법, 이를 포함하는 적층형 메모리 장치 |
US10732897B2 (en) * | 2018-07-03 | 2020-08-04 | Western Digital Technologies, Inc. | Quality of service based arbitrations optimized for enterprise solid state drives |
CN111610931B (zh) | 2019-02-26 | 2023-05-02 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN111610929B (zh) | 2019-02-26 | 2023-04-14 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN111611178B (zh) | 2019-02-26 | 2023-05-26 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN111610930B (zh) | 2019-02-26 | 2023-05-02 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
TWI706250B (zh) * | 2019-02-26 | 2020-10-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
CN112306918B (zh) * | 2019-07-31 | 2024-06-14 | 北京百度网讯科技有限公司 | 数据访问方法、装置、电子设备和计算机存储介质 |
US11941295B2 (en) * | 2022-01-11 | 2024-03-26 | Western Digital Technologies, Inc. | Data storage device and method for providing an adaptive data path |
CN114116008B (zh) * | 2022-01-26 | 2022-05-27 | 深圳佰维存储科技股份有限公司 | 命令队列管理方法、装置、可读存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477443A (zh) * | 2008-01-03 | 2009-07-08 | 上海奇码数字信息有限公司 | 与非闪存控制系统和控制方法 |
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
CN102609222A (zh) * | 2012-02-13 | 2012-07-25 | 山东华芯半导体有限公司 | 基于命令描述符的闪存控制方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128674A (en) | 1997-08-08 | 2000-10-03 | International Business Machines Corporation | Method of minimizing host CPU utilization in driving an adapter by residing in system memory a command/status block a soft interrupt block and a status block queue |
US6820181B2 (en) * | 2002-08-29 | 2004-11-16 | Micron Technology, Inc. | Method and system for controlling memory accesses to memory modules having a memory hub architecture |
KR101541344B1 (ko) * | 2008-12-05 | 2015-08-03 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 제어 방법 |
US8078848B2 (en) | 2009-01-09 | 2011-12-13 | Micron Technology, Inc. | Memory controller having front end and back end channels for modifying commands |
US8918595B2 (en) * | 2011-04-28 | 2014-12-23 | Seagate Technology Llc | Enforcing system intentions during memory scheduling |
US9519440B2 (en) * | 2013-09-10 | 2016-12-13 | Qualcomm Incorporated | Providing command queuing in embedded memories |
US9348747B2 (en) * | 2013-10-29 | 2016-05-24 | Seagate Technology Llc | Solid state memory command queue in hybrid device |
KR102111741B1 (ko) * | 2014-01-10 | 2020-05-15 | 삼성전자주식회사 | 임베디드 멀티미디어 카드 및 이의 동작 방법 |
-
2015
- 2015-04-03 KR KR1020150047633A patent/KR20160118836A/ko unknown
- 2015-08-25 US US14/835,442 patent/US9652177B2/en active Active
- 2015-09-15 CN CN201510586430.0A patent/CN106055267B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477443A (zh) * | 2008-01-03 | 2009-07-08 | 上海奇码数字信息有限公司 | 与非闪存控制系统和控制方法 |
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
CN102609222A (zh) * | 2012-02-13 | 2012-07-25 | 山东华芯半导体有限公司 | 基于命令描述符的闪存控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106055267A (zh) | 2016-10-26 |
US20160291878A1 (en) | 2016-10-06 |
US9652177B2 (en) | 2017-05-16 |
KR20160118836A (ko) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106055267B (zh) | 包括主机命令队列的存储器控制器及操作其的方法 | |
US11023167B2 (en) | Methods and apparatuses for executing a plurality of queued tasks in a memory | |
KR101626084B1 (ko) | 멀티 칩 메모리 시스템 및 그것의 데이터 전송 방법 | |
US10303378B2 (en) | Data storage device | |
CN110032333B (zh) | 存储器系统及其操作方法 | |
CN108573730B (zh) | 数据传输训练方法及执行该方法的数据存储装置 | |
CN108733594B (zh) | 存储器控制器与数据储存装置 | |
KR20160049200A (ko) | 데이터 저장 장치의 작동 방법, 이를 포함하는 모바일 컴퓨팅 장치, 및 이의 작동 방법 | |
CN106325765B (zh) | 用于通过多个通道来控制半导体存储器件的存储系统 | |
CN106874210B (zh) | 用于半导体存储装置的控制器及其操作方法 | |
KR102107723B1 (ko) | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 | |
CN112534392A (zh) | 用于存储器系统中的读取操作的服务质量控制 | |
CN115080472B (zh) | 支持非确定性命令的存储器子系统 | |
US10585822B2 (en) | Operation method of host system including storage device and operation method of storage device controller | |
US9753655B2 (en) | Computing system with write buffer including speculative storage write and method of operation thereof | |
US10445017B2 (en) | Memory system and operating method thereof | |
CN109686391B (zh) | 非易失性存储器装置及其操作方法及非易失性存储器封装 | |
US10346052B2 (en) | Memory system with priority processing and operating method thereof | |
US20210191854A1 (en) | Storage device including memory controller | |
US20180137060A1 (en) | Storage device and operating method performed by the same | |
US20160378375A1 (en) | Memory system and method of operating the same | |
US20200174921A1 (en) | Data storage device, operation method thereof, and storage system including the same | |
CN112585570A (zh) | 存储器系统中用于提高命令总线利用率的控制器命令调度 | |
US10082961B2 (en) | Memory system having multiple host channel and performing a cache operation and method of operating the same | |
US20130297968A1 (en) | Nonvolatile memory controller and a nonvolatile memory system |
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 |