CN108694018A - 数据存储装置及其操作方法 - Google Patents
数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN108694018A CN108694018A CN201711465816.1A CN201711465816A CN108694018A CN 108694018 A CN108694018 A CN 108694018A CN 201711465816 A CN201711465816 A CN 201711465816A CN 108694018 A CN108694018 A CN 108694018A
- Authority
- CN
- China
- Prior art keywords
- request
- time
- queue
- storage device
- lined
- 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
- 238000013500 data storage Methods 0.000 title claims abstract description 71
- 238000011017 operating method Methods 0.000 title claims abstract description 7
- 235000003642 hunger Nutrition 0.000 claims abstract description 25
- 230000037351 starvation Effects 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 44
- 230000015654 memory Effects 0.000 description 43
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 229910000314 transition metal oxide Inorganic materials 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/372—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a time-dependent priority, e.g. individually loaded time counters or time slot
-
- 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/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/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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种数据存储装置的操作方法,该方法包括:使从主机装置接收的用于非易失性存储器装置的请求入队到第一队列中;确定在第一队列中排队的请求中未入队到第二队列中且具有相对低优先级的请求的饥饿时间是否达到预定响应时间;以及基于确定结果,使在第一队列中排队的请求中具有低优先级的请求和未入队到第二队列中且具有高优先级的请求之间的任何一个入队到第二队列中。
Description
相关申请的交叉引用
本申请要求于2017年4月11日提交的申请号为10-2017-0046530的韩国申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种使用非易失性存储器装置作为存储介质的数据存储装置。
背景技术
近来,用于计算机环境的范例已经改变至普适计算使得计算机系统可以随时随地使用。因此,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经快速增长。通常,便携式电子装置使用数据存储装置,该数据存储装置使用存储器装置。数据存储装置被用于存储便携式电子装置中待使用的数据。
由于使用存储器装置的数据存储装置不包括机械驱动单元,因此该数据存储装置具有优良的稳定性和耐久性。并且,使用存储器装置的数据存储装置的优点在于其可以较快速地访问数据并消耗较少的功率。具有这样的优点的数据存储装置的非限制性示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置和固态硬盘(SSD)。
发明内容
各个实施例涉及一种能够以可以高效地处理来自主机装置的请求的方式重新排序请求的数据存储装置及其操作方法。
在实施例中,一种数据存储装置的操作方法,该方法包括:使从主机装置接收的用于非易失性存储器装置的请求入队到第一队列中;确定在第一队列中排队的请求中未入队到第二队列中且具有相对低优先级的请求的饥饿(starvation)时间是否达到预定响应时间;以及基于确定结果,使在第一队列中排队的请求中具有低优先级的请求和未入队到第二队列中且具有高优先级的请求之间的任何一个入队到第二队列中。
在实施例中,一种数据存储装置可以包括:第一队列,其适于使从主机装置接收的请求排队;第二队列,其适于使在第一队列中排队的请求中的一些排队;以及主机接口单元,其适于使在第一队列中排队的请求入队到第二队列中,使得请求被重新排序,其中主机接口单元确定在第一队列中排队的请求中未入队到第二队列中且具有相对低优先级的请求的饥饿时间达到预定响应时间的程度,并且基于确定结果使在第一队列中排队的请求中具有低优先级的请求和未入队到第二队列中且具有高优先级的请求之间的任何一个入队到第二队列中。
根据实施例,来自主机装置的请求可以被高效地处理。
附图说明
图1是示出根据实施例的数据存储装置的框图。
图2和图3是示出根据实施例的用于通知处理完成请求的方法的简图。
图4是示出根据实施例的基于请求的接收顺序的请求排队操作的简图。
图5是示出根据实施例的基于请求的优先级的请求排队操作的简图。
图6是示出根据实施例的基于请求的处理时间的请求排队操作的简图。
图7至图10是示出根据实施例的基于请求的饥饿的请求排队操作的示例的简图。
图11是示出根据实施例的包括固态硬盘(SSD)的数据处理系统的简图。
图12是示出包括根据实施例的数据存储装置的数据处理系统的简图。
图13是示出包括根据实施例的数据存储装置的数据处理系统的简图。
图14是示出包括根据实施例的数据存储装置的网络系统的简图。
图15是示出包括在根据实施例的数据存储装置中的非易失性存储器装置的框图。
具体实施方式
在本发明中,在阅读以下结合附图的示例性实施例之后,优点、特征和用于实现该优点和特征的方法将变得更加显而易见。然而,本发明可以以不同的形式体现并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例以便以本发明所属领域的技术人员能够容易地实施本发明的技术概念的程度来详细描述本发明。
在本文中应当理解的是,本发明的实施例不限于附图中所示的细节,并且附图不一定按比例绘制,并且在一些情况下可能夸大比例,以便更清楚地描绘本发明的某些特征。虽然在本文中使用特定术语,但是应当理解的是,本文使用的术语仅用于描述特定实施例的目的,并不旨在限制本发明的范围。
如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何一个和所有组合。将理解的是,当一个元件被称为在另一元件“上”、“连接至”或“联接至”另一元件时,其可以直接在其它元件上、连接至或联接至其它元件,或可存在中间元件。如本文使用的,单数形式也旨在包括复数形式,除非上下文另有清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”和/或“包括有”时,其指定至少一个阐述的特征、步骤、操作和/或元件的存在而不排除一个或多个其它特征、步骤、操作和/或元件的存在或增加。
在下文中,将通过实施例的各个示例参照附图来描述数据存储装置及其操作方法。
图1是示出根据实施例的数据存储装置100的框图。参照图1,数据存储装置100可以存储待由诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)、车载信息娱乐系统等的主机装置400访问的数据。数据存储装置100也可以被称为存储器系统。
数据存储装置100可以根据表示关于主机装置400的传输协议的主机接口HIF利用各种类型的存储装置中的任意一种来实施。例如,数据存储装置100可以利用诸如以下的各种类型的存储装置中的任意一种来实施:固态硬盘(SSD),诸如MMC、eMMC、RS-MMC和微型MMC的多媒体卡,诸如SD、迷你SD和微型SD的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-E)卡型存储装置,标准闪存(CF)卡,智能媒体卡,记忆棒等。
数据存储装置100可以利用各种类型的封装中的任意一种来实施。例如,数据存储装置100可以被制造为诸如以下的各种类型的封装中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
数据存储装置100可以包括非易失性存储器装置200和控制器300。非易失性存储器装置200可以通过包括能够传输命令、地址、控制信号和数据的至少一个信号线的信道CH与控制器300联接。非易失性存储器装置200可以用作数据存储装置100的存储介质。
非易失性存储器装置200可以由诸如以下的各种类型的非易失性存储器装置中的任意一种来配置:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧穿磁阻(TMR)层的磁性随机存取存储器(MRAM)、使用硫族化物合金的相变随机存取存储器(PCRAM)和使用过渡金属氧化物的电阻式随机存取存储器(RERAM)。铁电随机存取存储器(FRAM)、磁性随机存取存储器(MRAM)、相变随机存取存储器(PCRAM)和电阻式随机存取存储器(RERAM)是能够随机访问存储器单元的类型的非易失性随机存取存储器装置。非易失性存储器装置200可以由NAND闪速存储器装置和上述各种类型的非易失性随机存取存储器装置的组合来配置。
控制器300可以包括主机接口单元310、第二队列320、控制单元330、工作存储器340和存储器控制单元350。主机接口单元310可以包括第一队列311。
主机接口单元310可以将主机装置400与数据存储装置100接口连接。例如,主机接口单元310可以通过使用主机接口HIF,即,诸如以下的标准传输协议中的任意一种与主机装置400通信:通用串行总线(USB)协议、通用闪存(UFS)协议、多媒体卡(MMC)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机系统接口(SCSI)协议、串列SCSI(SAS)协议、外围组件互连(PCI)协议和高速PCI(PCI-e)协议。
主机接口单元310可以执行请求排队操作或命令排队操作。主机接口单元310可以接收来自主机装置400的请求,并且使接收的请求入队到第一队列311中。主机接口单元310可以使在第一队列311中排队的请求中的一些入队到第二队列320中。主机接口单元310可以使在第一队列311中排队的请求入队到第二队列320中,使得在第一队列311中排队的请求可以基于各种参考被重新排序。
主机接口单元310可以包括基于请求饥饿的请求排队操作所需的功能块,例如计时器313。
第二队列320可以联接在主机接口单元310和控制单元330之间。第二队列320可以用于主机接口单元310与控制单元330之间的请求交换。第二队列320可以被配置成链式队列或循环队列的类型。
控制单元330可以利用微控制单元(MCU)或中央处理单元(CPU)来实施。控制单元330可以处理在第二队列320中排队的请求。为了处理请求,控制单元330可以驱动在工作存储器340中加载的代码类型的指令或算法,即软件,并且可以控制内部功能块或非易失性存储器装置200。
控制单元330可以通知主机接口单元310存在处理完成的请求。例如,如图2所示,控制单元330可以以在处理完成的请求所排队的第二队列320的区域Q21中记录完成标志CF的方式通知请求的处理完成。另一方面,第二队列320的剩余区域Q22、Q23和Q24是与处理等待(standby)请求相对应的区域。又例如,如图3所示,控制单元330可以以将中断ITR传输到主机接口单元310的方式通知请求的处理完成。
工作存储器340可以利用诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)的随机存取存储器来实施。工作存储器340可以存储待由控制单元330驱动的软件。并且,工作存储器340可以存储驱动软件所需的数据。
存储器控制单元350可以根据控制单元330的控制来控制非易失性存储器装置200。存储器控制单元350也可以被称为存储器接口单元。存储器控制单元350可以将控制信号提供给非易失性存储器装置200。控制信号可以包括用于控制非易失性存储器装置200的命令、地址、控制信号等。存储器控制单元350可以将数据提供给非易失性存储器装置200,或者可以被提供有从非易失性存储器装置200读出的数据。
图4是示出根据实施例的基于请求的接收顺序的请求排队操作的简图。作为示例,在图4中示出其中从主机装置400接收五个请求RQ1至RQ5的状态。例如,可以由图1的数据存储装置100执行图4的请求排队操作。
参照图4,主机接口单元310可以按照请求RQ1至RQ5被接收的顺序使请求RQ1至RQ5入队到第一队列311中。例如,主机接口单元310可以使请求RQ1至RQ5分别入队到第一队列311的区域Q11至Q15中。主机接口单元310可以使在第一队列311中排队的请求RQ1至RQ5按照请求RQ1至RQ5被接收的顺序在第二队列320中排队。例如,主机接口单元310可以使请求RQ1至RQ4在第二队列320中排队。即,主机接口单元310可以使请求RQ1至RQ4分别入队到第二队列320的区域Q21至Q24中。
控制单元330可按照在第二队列320中排队的请求RQ1至RQ4排队的顺序处理请求RQ1至RQ4。例如,控制单元330可以按照第一请求RQ1至第四请求RQ4的顺序处理请求RQ1至RQ4。如果第一请求RQ1的处理完成,则主机接口单元310可以使在第一队列311中排队的剩余请求,即,第五请求RQ5在第二队列320中排队。
图5是示出根据实施例的基于请求的优先级的请求排队操作的简图。例如,在图5中示出其中从主机装置400接收七个请求RQ1至RQ7的状态。例如,可以由图1的数据存储装置100执行图5的请求排队操作。
参照图5,主机接口单元310可以按照请求RQ1至RQ7被接收的顺序使请求RQ1至RQ7入队到第一队列311中。例如,主机接口单元310可以使请求RQ1至RQ7分别入队到第一队列311的区域Q11至Q17中。请求RQ6和RQ7是具有相对高优先级的请求,并且请求RQ1到RQ5是具有低优先级的请求。主机接口单元310可以使在第一队列311中排队的请求RQ1至RQ7在第二队列320中排队,使得请求可以基于请求的优先级被重新排序。例如,主机接口单元310可以使具有高优先级的请求RQ6和RQ7分别在第二队列320的区域Q21和Q22中排队。然后,主机接口单元310可以使具有低优先级的请求RQ1和RQ2按照请求RQ1和RQ2被接收的顺序分别在第二队列320的区域Q23和Q24中排队。
控制单元330可按照在第二队列320中排队的请求RQ6、RQ7、RQ1和RQ2排队的顺序处理请求RQ6、RQ7、RQ1和RQ2。例如,控制单元330可以按照第六请求RQ6、第七请求RQ7、第一请求RQ1和第二请求RQ2的顺序处理请求RQ6、RQ7、RQ1和RQ2。当请求RQ6、RQ7、RQ1和RQ2的处理完成时,主机接口单元310可以使在第一队列311中排队的剩余请求,即,请求RQ3至RQ5按照其被接收的顺序在第二队列320中排队。
如果请求基于请求的优先级被重新排序,则可以首先处理具有高优先级的请求RQ6和RQ7,并且可以稍后处理具有低优先级的请求RQ1至RQ5。
图6是示出根据实施例的基于请求的处理时间的请求排队操作的简图。例如,在图6中示出其中从主机装置400接收四个请求RQ1至RQ4的状态。例如,可以由图1所示的数据存储装置100执行图6的请求排队操作。
参照图6,主机接口单元310可以按照请求RQ1至RQ4被接收的顺序使请求RQ1至RQ4入队到第一队列311中。例如,主机接口单元310可以使请求RQ1至RQ4分别入队到第一队列311的区域Q11至Q14中。请求RQ1、RQ3和RQ4是具有相对短处理时间的请求,并且请求RQ2是具有相对长处理时间的请求。主机接口单元310可以使在第一队列311中排队的请求RQ1至RQ4在第二队列320中排队,使得请求可以基于请求的处理时间被重新排序。例如,主机接口单元310可以使具有短处理时间的请求RQ1、RQ3和RQ4分别在第二队列320的区域Q21至Q23中排队。然后,主机接口单元310可以使具有长处理时间的请求RQ2在第二队列320的区域Q24中排队。
控制单元330可以按照在第二队列320中排队的请求RQ1至RQ4排队的顺序处理请求RQ1至RQ4。例如,控制单元330可以按照第一请求RQ1、第三请求RQ3、第四请求RQ4和第二请求RQ2的顺序处理请求RQ1至RQ4。
如果请求基于请求的处理时间被重新排序,则可以首先处理具有短处理时间的例如读取请求的请求RQ1、RQ3和RQ4,并且可以稍后处理具有长处理时间的例如写入请求的请求RQ2。
图7至图10是示出根据实施例的基于请求的饥饿的请求排队操作的示例的简图。例如,可以由图1所示的数据存储装置100执行图7至图10的请求排队操作。
参照图7,作为示例,示出其中具有低优先级的五个请求RQ1到RQ5分别在第一队列311的区域Q11到Q15中排队、其中的四个请求RQ1至RQ4分别在第二队列320的区域Q21至Q24中排队并且然后从主机装置400接收具有高优先级的一个请求RQ6的状态。此外,示出其中在第二队列320中排队的请求RQ1至RQ4中的第一请求RQ1被完全处理的状态。
根据这些状态,主机接口单元310应当使在第一队列311中排队的请求RQ1至RQ6中的未入队到第二队列320中的请求RQ5和RQ6之间的任何一个入队到第二队列320中。在该情况下,主机接口单元310可以基于请求RQ5和RQ6的优先级使请求RQ5和RQ6中的任何一个入列到第二队列320中。可选地,主机接口单元310可以使请求RQ5和RQ6中的任何一个入列到第二队列320中,使得请求RQ5和RQ6基于请求饥饿被重新排序。
主机接口单元310可以确定在第一队列311中排队的请求RQ1到RQ6中未入队到第二队列320中且具有低优先级的第五请求RQ5的饥饿时间即将到达响应时间的程度,并且可以基于确定结果使具有低优先级的第五请求RQ5和具有高优先级的第六请求RQ6中的任何一个入队到第二队列320中。
参照图8,主机接口单元310可以确定未入队到第二队列320中且具有低优先级的第五请求RQ5的饥饿时间Tstrv_RQ5。例如,主机接口单元310可以通过计时器313来计数从主机装置400接收第五请求RQ5的时间点经过的时间。因此,第五请求RQ5的饥饿时间Tstrv_RQ5可以表示第五请求RQ5的处理被延迟的时间。
虽然仅描述第五请求RQ5的饥饿时间Tstrv_RQ5,但是从主机装置400接收的所有请求的各自饥饿时间可以由主机接口单元310管理。
主机接口单元310可以确定在第二队列320中排队的请求RQ1至RQ4中被完全处理的第一请求RQ1的处理时间Tprcs_RQ1。例如,主机接口单元310可以通过计时器313来计数从第一请求RQ1在第二队列320中排队的时间点到控制单元330通知第一请求RQ1的处理完成的时间点所经过的时间。因此,第一请求RQ1的处理时间Tprcs_RQ1可以表示处理第一请求RQ1所经过的时间。
主机接口单元310可以将第五请求RQ5的饥饿时间Tstrv_RQ5与第一请求RQ1的处理时间Tprcs_RQ1之间的差与参考时间Tref进行比较。主机接口单元310可以基于比较结果来确定第五请求RQ5的响应时间即将到达的程度。
响应时间可以表示在请求从主机装置400被传输之后数据存储装置100应当发送该请求的响应的时间限制。响应时间可以是根据主机装置400和数据存储装置100之间的传输协议规定的时间。
主机接口单元310可以设置通过从响应时间减去先前处理完成的请求的平均处理时间而获得的时间作为参考时间Tref。因此,参考时间Tref可以是短于响应时间的时间。
当第五请求RQ5的饥饿时间Tstrv_RQ5与第一请求RQ1的处理时间Tprcs_RQ1之间的差小于参考时间Tref时,主机接口单元310可以确定第五请求RQ5的响应时间即将到达。基于这种确定结果,如图9所示,即使第五请求RQ5的优先级低于第六请求RQ6的优先级,主机接口单元310也可以使第五请求RQ5在第六请求RQ6之前入队到第二队列320中。
当第五请求RQ5的饥饿时间Tstrv_RQ5与第一请求RQ1的处理时间Tprcs_RQ1之间的差等于或大于参考时间Tref时,主机接口单元310可以确定第五请求RQ5的响应时间不是即将到达。基于这种确定结果,如图10所示,主机接口单元310可以基于请求RQ5和RQ6的优先级使具有高优先级的第六请求RQ6入队到第二队列320中。
图11是示出根据实施例的包括固态硬盘(SSD)1200的数据处理系统1000的简图。参照图11,数据处理系统1000可以包括主机装置1100和SSD 1200。
SSD 1200可以包括控制器1210、缓冲存储器装置1220、多个非易失性存储器装置1231至123n、电源1240、信号连接器1250和电源连接器1260。
控制器1210可以控制SSD 1200的一般操作。控制器1210可以包括主机接口单元1211、控制单元1212、随机存取存储器1213、错误校正码(ECC)单元1214和存储器接口单元1215。
主机接口单元1211可以通过信号连接器1250与主机装置1100交换信号SGL。信号SGL可以包括命令、地址、数据等。主机接口单元1211可以根据主机装置1100的协议来接口连接主机装置1100和SSD 1200。例如,主机接口单元1211可以通过诸如以下的标准接口协议中的任意一种与主机装置1100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-E)和通用闪存(UFS)。
控制单元1212可以分析和处理从主机装置1100接收的信号SGL。控制单元1212可以根据用于驱动SSD 1200的固件或软件来控制内部功能块的操作。随机存取存储器1213可以用作驱动这种固件或软件的工作存储器。
ECC单元1214可以生成待被传输到非易失性存储器装置1231至123n中的至少一个的数据的奇偶校验数据。生成的奇偶校验数据可以与数据一起存储在非易失性存储器装置1231至123n中。ECC单元1214可以基于奇偶校验数据来检测从非易失性存储器装置1231至123n中的至少一个读取的数据的错误。如果检测到的错误在可校正的范围内,则ECC单元1214可以校正检测到的错误。
存储器接口单元1215可以根据控制单元1212的控制将诸如命令和地址的控制信号提供给非易失性存储器装置1231至123n中的至少一个。此外,存储器接口单元1215可以根据控制单元1212的控制与非易失性存储器装置1231至123n中的至少一个交换数据。例如,存储器接口单元1215可以将存储在缓冲存储器装置1220中的数据提供给非易失性存储器装置1231至123n中的至少一个,或将从非易失性存储器装置1231至123n中的至少一个读取的数据提供给缓冲存储器装置1220。
缓冲存储器装置1220可以临时存储待存储在非易失性存储器装置1231至123n中的至少一个中的数据。进一步地,缓冲存储器装置1220可以临时存储从非易失性存储器装置1231至123n中的至少一个读取的数据。临时存储在缓冲存储器装置1220中的数据可以根据控制器1210的控制被传输到主机装置1100或非易失性存储器装置1231至123n中的至少一个。
非易失性存储器装置1231至123n可以用作SSD 1200的存储介质。非易失性存储器装置1231至123n可以通过多个通道CH1至CHn分别与控制器1210联接。一个或多个非易失性存储器装置可以联接到一个通道。联接到每个通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源1240可以将通过电源连接器1260输入的电力PWR提供到给SSD 1200的内部。电源1240可以包括辅助电源1241。辅助电源1241可以当发生突然断电时供给电力以允许SSD 1200正常地终止。辅助电源1241可以包括大容量电容器。
根据主机装置1100和SSD 1200之间的接口方案,信号连接器1250可以由各种类型的连接器配置。
根据主机装置1100的电源方案,电源连接器1260可以由各种类型的连接器配置。
图12是示出包括根据实施例的数据存储装置2200的数据处理系统2000的简图。参照图12,数据处理系统2000可以包括主机装置2100和数据存储装置2200。
主机装置2100可以被配置成诸如印刷电路板的板的形式。虽然未示出,但是主机装置2100可以包括用于执行主机装置的功能的内部功能块。
主机装置2100可以包括诸如插座、插槽或连接器的连接端子2110。数据存储装置2200可以被安装到连接端子2110。
数据存储装置2200可以被配置成诸如印刷电路板的板的形式。数据存储装置2200可以被称为存储器模块或存储卡。数据存储装置2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(PMIC)2240和连接端子2250。
控制器2210可以控制数据存储装置2200的一般操作。控制器2210可以以与图11所示的控制器1210相同的方式来配置。
缓冲存储器装置2220可以临时存储待存储在非易失性存储器装置2231和2232中的数据。进一步地,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231和2232读取的数据。临时存储在缓冲存储器装置2220中的数据可以根据控制器2210的控制被传输到主机装置2100或非易失性存储器装置2231和2232。
非易失性存储器装置2231和2232可以用作数据存储装置2200的存储介质。
PMIC 2240可以将通过连接端子2250输入的电力提供到数据存储装置2200的内部。PMIC 2240可以根据控制器2210的控制来管理数据存储装置2200的电力。
连接端子2250可以联接到主机装置2100的连接端子2110。通过连接端子2250,诸如命令、地址、数据等的信号和电力可以在主机装置2100和数据存储装置2200之间传送。根据主机装置2100和数据存储装置2200之间的接口方案,连接端子2250可以被配置成各种类型。连接端子2250可以被设置在数据存储装置2200的任意一侧。
图13是示出包括根据实施例的数据存储装置3200的数据处理系统3000的简图。参照图13,数据处理系统3000可以包括主机装置3100和数据存储装置3200。
主机装置3100可以被配置成诸如印刷电路板的板的形式。虽然未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
数据存储装置3200可以被配置成表面安装型封装的形式。数据存储装置3200可以通过焊球3250被安装到主机装置3100。数据存储装置3200可以包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。
控制器3210可以控制数据存储装置3200的一般操作。控制器3210可以以与图11所示的控制器1210相同的方式来配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3230中的数据。进一步地,缓冲存储器装置3220可以临时存储从非易失性存储器装置3230读取的数据。临时存储在缓冲存储器装置3220中的数据可以根据控制器3210的控制被传输到主机装置3100或非易失性存储器装置3230。
非易失性存储器装置3230可以用作数据存储装置3200的存储介质。
图14是示出包括根据实施例的数据存储装置4200的网络系统4000的简图。参照图14,网络系统4000可以包括通过网络4500联接的服务器系统4300和多个客户端系统4410至4430。
服务器系统4300可以响应于来自多个客户端系统4410至4430的请求来服务数据。例如,服务器系统4300可以存储从多个客户端系统4410到4430提供的数据。又例如,服务器系统4300可以将数据提供给多个客户端系统4410至4430。
服务器系统4300可以包括主机装置4100和数据存储装置4200。数据存储装置4200可以由图1所示的数据存储装置100、图11所示的数据存储装置1200、图12所示的数据存储装置2200或图13所示的数据存储装置3200来配置。
图15是示出包括在根据实施例的数据存储装置中的非易失性存储器装置200的框图。参照图15,非易失性存储器装置200可以包括存储器单元阵列210、行解码器220、数据读取/写入块230、列解码器240、电压发生器250和控制逻辑260。
存储器单元阵列210可以包括布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域处的存储器单元MC。
行解码器220可以通过字线WL1至WLm与存储器单元阵列210联接。行解码器220可以根据控制逻辑260的控制来操作。行解码器220可以解码从外部装置(未示出)提供的地址。行解码器220可以基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器220可以将从电压发生器250提供的字线电压提供给字线WL1至WLm。
数据读取/写入块230可以通过位线BL1至BLn与存储器单元阵列210联接。数据读取/写入块230可以包括分别对应于位线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块230可以根据控制逻辑260的控制来操作。数据读取/写入块230可以根据操作模式作为写入驱动器或读出放大器来操作。例如,数据读取/写入块230可以作为写入驱动器来操作,该写入驱动器在写入操作中将从外部装置提供的数据存储在存储器单元阵列210中。又例如,数据读取/写入块230可以作为读出放大器来操作,该读出放大器在读取操作中从存储器单元阵列210读出数据。
列解码器240可以根据控制逻辑260的控制来操作。列解码器240可以解码从外部装置提供的地址。列解码器240可以基于解码结果来将分别对应于位线BL1至BLn的数据读取/写入块230的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。
电压发生器250可以产生待用于非易失性存储器装置200的内部操作的电压。由电压发生器250产生的电压可以被施加到存储器单元阵列210的存储器单元。例如,在编程操作中产生的编程电压可以被施加到待执行编程操作的存储器单元的字线。又例如,在擦除操作中产生的擦除电压可以被施加到待执行擦除操作的存储器单元的阱区。再例如,在读取操作中产生的读取电压可以被施加到待执行读取操作的存储器单元的字线。
控制逻辑260可以基于从外部装置提供的控制信号来控制非易失性存储器装置200的一般操作。例如,控制逻辑260可以控制非易失性存储器装置200的操作,诸如非易失性存储器装置200的读取操作、写入操作和擦除操作。
虽然上面已经描述各个实施例,但是本领域技术人员将理解,描述的实施例仅是示例。因此,本文描述的数据存储装置及其操作方法不应基于描述的实施例来限制。
为了说明的目的,上面已经公开本公开的实施例。本领域的普通技术人员将理解,在不脱离如所附权利要求所公开的本公开的范围和精神的情况下,可以进行各种变型、添加和替换。
Claims (18)
1.一种数据存储装置的操作方法,所述方法包括:
使从主机装置接收的用于非易失性存储器装置的请求入队到第一队列中;
确定在所述第一队列中排队的请求中未入队到第二队列中且具有相对低优先级的请求的饥饿时间是否达到预定响应时间;以及
基于确定结果,使在所述第一队列中排队的请求中具有低优先级的请求和未入队到所述第二队列中且具有高优先级的请求之间的任何一个入队到所述第二队列中。
2.根据权利要求1所述的方法,其中确定所述饥饿时间是否达到所述预定响应时间包括将所述饥饿时间与在所述第二队列中排队的请求中完全处理的请求的处理时间之间的差与参考时间进行比较。
3.根据权利要求2所述的方法,其中,当所述饥饿时间与所述处理时间之间的差小于所述参考时间时,使具有低优先级的请求入队到所述第二队列中。
4.根据权利要求2所述的方法,其中,当所述饥饿时间与所述处理时间之间的差等于或大于所述参考时间时,使具有高优先级的请求入队到所述第二队列中。
5.根据权利要求2所述的方法,其进一步包括:
计数从所述完全处理的请求在所述第二队列中排队的时间点到完全处理所述请求的时间点经过的时间作为所述处理时间。
6.根据权利要求2所述的方法,其进一步包括:
设置通过从所述响应时间减去先前处理完成的请求的平均处理时间而获得的时间作为所述参考时间。
7.根据权利要求1所述的方法,其进一步包括:
计数从具有低优先级的请求在所述第一队列中排队的时间点经过的时间作为所述饥饿时间。
8.根据权利要求1所述的方法,其中所述响应时间包括在从所述主机装置接收具有低优先级的请求之后应当发送响应的时间限制。
9.一种数据存储装置,其包括:
第一队列,其适于使从主机装置接收的请求排队;
第二队列,其适于使在所述第一队列中排队的请求中的一些请求排队;以及
主机接口单元,其适于使在所述第一队列中排队的请求入队到所述第二队列中,使得所述请求被重新排序,
其中所述主机接口单元确定在所述第一队列中排队的请求中未入队到所述第二队列中且具有相对低优先级的请求的饥饿时间达到预定响应时间的程度,并且基于确定结果,使在所述第一队列中排队的请求中具有低优先级的请求和未入队到所述第二队列中且具有高优先级的请求之间的任何一个入队到所述第二队列中。
10.根据权利要求9所述的数据存储装置,其中,为了确定所述饥饿时间是否达到所述预定响应时间,所述主机接口单元将所述饥饿时间与在所述第二队列中排队的请求中完全处理的请求的处理时间之间的差与参考时间进行比较。
11.根据权利要求10所述的数据存储装置,其中,当所述饥饿时间与所述处理时间之间的差小于所述参考时间时,所述主机接口单元使具有低优先级的请求入队到所述第二队列中。
12.根据权利要求10所述的数据存储装置,其中,当所述饥饿时间与所述处理时间之间的差等于或大于所述参考时间时,所述主机接口单元使具有高优先级的请求入队到所述第二队列中。
13.根据权利要求10所述的数据存储装置,其中所述主机接口单元包括计数所述饥饿时间和所述处理时间中的至少一个的计时器。
14.根据权利要求13所述的数据存储装置,其中所述主机接口单元通过所述计时器计数从具有低优先级的请求在所述第一队列中排队的时间点经过的时间作为所述饥饿时间。
15.根据权利要求13所述的数据存储装置,其中所述主机接口单元通过所述计时器计数从所述完全处理的请求在所述第二队列中排队的时间点到完全处理所述请求的时间点经过的时间作为所述处理时间。
16.根据权利要求10所述的数据存储装置,其中所述主机接口单元设置通过从所述响应时间减去先前处理完成的请求的平均处理时间而获得的时间作为所述参考时间。
17.根据权利要求9所述的数据存储装置,其中所述响应时间包括在从所述主机装置接收具有低优先级的请求之后应当发送响应的时间限制。
18.根据权利要求9所述的数据存储装置,其进一步包括:
非易失性存储器装置;以及
控制单元,其适于控制所述非易失性存储器装置以处理在所述第二队列中排队的请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170046530A KR20180114972A (ko) | 2017-04-11 | 2017-04-11 | 데이터 저장 장치 및 그것의 동작 방법 |
KR10-2017-0046530 | 2017-04-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108694018A true CN108694018A (zh) | 2018-10-23 |
CN108694018B CN108694018B (zh) | 2021-05-25 |
Family
ID=63711660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711465816.1A Active CN108694018B (zh) | 2017-04-11 | 2017-12-28 | 数据存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10509670B2 (zh) |
KR (1) | KR20180114972A (zh) |
CN (1) | CN108694018B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10656872B2 (en) * | 2018-03-15 | 2020-05-19 | Western Digital Technologies, Inc. | Storage device with multi-die management |
US10768837B2 (en) * | 2018-10-31 | 2020-09-08 | EMC IP Holding Company LLC | Non-disruptive migration of a virtual volume in a clustered data storage system |
CN111290976A (zh) * | 2018-12-06 | 2020-06-16 | 沈阳新松机器人自动化股份有限公司 | 一种fram存储器读写系统 |
US11675715B2 (en) * | 2019-03-27 | 2023-06-13 | Intel Corporation | Low pin-count architecture with prioritized message arbitration and delivery |
US10841645B1 (en) | 2019-12-09 | 2020-11-17 | Western Digital Technologies, Inc. | Storage system and method for video frame segregation to optimize storage |
US11086804B2 (en) * | 2019-12-09 | 2021-08-10 | Western Digital Technologies, Inc. | Storage system and method for reducing read-retry duration |
US11562018B2 (en) | 2020-02-04 | 2023-01-24 | Western Digital Technologies, Inc. | Storage system and method for optimized surveillance search |
US11526435B2 (en) | 2020-02-04 | 2022-12-13 | Western Digital Technologies, Inc. | Storage system and method for automatic data phasing |
US11328511B2 (en) | 2020-03-13 | 2022-05-10 | Western Digital Technologies, Inc. | Storage system and method for improved playback analysis |
KR20220120277A (ko) * | 2021-02-23 | 2022-08-30 | 삼성전자주식회사 | 커맨드 큐잉 방법 및 복수의 큐의 처리 속도를 조절하는 방법을 포함하는 호스트-스토리지 시스템 |
KR102529761B1 (ko) | 2021-03-18 | 2023-05-09 | 에스케이하이닉스 주식회사 | PCIe 디바이스 및 그 동작 방법 |
KR102496994B1 (ko) * | 2021-03-23 | 2023-02-09 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 그 동작 방법 |
CN116737672B (zh) * | 2022-09-13 | 2024-04-26 | 荣耀终端有限公司 | 嵌入式操作系统中文件系统的调度方法、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073461A (zh) * | 2010-12-07 | 2011-05-25 | 成都市华为赛门铁克科技有限公司 | 输入输出请求调度方法、存储控制器和存储阵列 |
CN102281202A (zh) * | 2011-09-02 | 2011-12-14 | 苏州阔地网络科技有限公司 | 一种调度方法、服务器及系统 |
US20140237477A1 (en) * | 2013-01-18 | 2014-08-21 | Nec Laboratories America, Inc. | Simultaneous scheduling of processes and offloading computation on many-core coprocessors |
CN106055267A (zh) * | 2015-04-03 | 2016-10-26 | 爱思开海力士有限公司 | 包括主机命令队列的存储器控制器及操作其的方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8719833B2 (en) * | 2010-06-24 | 2014-05-06 | Sap Ag | Adaptive demand-driven load balancing |
US20140325524A1 (en) * | 2013-04-25 | 2014-10-30 | Hewlett-Packard Development Company, L.P. | Multilevel load balancing |
KR101481898B1 (ko) | 2013-06-25 | 2015-01-14 | 광운대학교 산학협력단 | Ssd의 명령어 큐 스케줄링 장치 및 방법 |
KR102373544B1 (ko) * | 2015-11-06 | 2022-03-11 | 삼성전자주식회사 | 요청 기반의 리프레쉬를 수행하는 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법 |
US10423500B2 (en) * | 2016-06-01 | 2019-09-24 | Seagate Technology Llc | Technologies for limiting performance variation in a storage device |
US10223298B2 (en) * | 2016-12-12 | 2019-03-05 | Intel Corporation | Urgency based reordering for priority order servicing of memory requests |
-
2017
- 2017-04-11 KR KR1020170046530A patent/KR20180114972A/ko unknown
- 2017-11-29 US US15/825,315 patent/US10509670B2/en active Active
- 2017-12-28 CN CN201711465816.1A patent/CN108694018B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073461A (zh) * | 2010-12-07 | 2011-05-25 | 成都市华为赛门铁克科技有限公司 | 输入输出请求调度方法、存储控制器和存储阵列 |
CN102281202A (zh) * | 2011-09-02 | 2011-12-14 | 苏州阔地网络科技有限公司 | 一种调度方法、服务器及系统 |
US20140237477A1 (en) * | 2013-01-18 | 2014-08-21 | Nec Laboratories America, Inc. | Simultaneous scheduling of processes and offloading computation on many-core coprocessors |
CN106055267A (zh) * | 2015-04-03 | 2016-10-26 | 爱思开海力士有限公司 | 包括主机命令队列的存储器控制器及操作其的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20180293101A1 (en) | 2018-10-11 |
KR20180114972A (ko) | 2018-10-22 |
CN108694018B (zh) | 2021-05-25 |
US10509670B2 (en) | 2019-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108694018A (zh) | 数据存储装置及其操作方法 | |
KR102565918B1 (ko) | 데이터 저장 장치 및 그것의 동작방법 | |
US10838653B2 (en) | Electronic device and operating method thereof | |
CN108062962A (zh) | 数据存储装置及其操作方法 | |
US10877697B2 (en) | Data storage device and operating method thereof | |
CN113220220B (zh) | 控制器、控制器的操作方法及包括该控制器的存储装置 | |
TWI795466B (zh) | 資料儲存設備及其操作方法 | |
CN109407966B (zh) | 数据存储装置及其操作方法 | |
US20190205059A1 (en) | Data storage apparatus and operating method thereof | |
CN108459978A (zh) | 包括非易失性存储器装置的数据存储装置及其操作方法 | |
CN107066201B (zh) | 数据存储装置及其方法 | |
CN110047547A (zh) | 数据储存装置、其操作方法和非易失性存储器件 | |
CN110286847A (zh) | 数据存储装置及其操作方法 | |
US11748025B2 (en) | Nonvolatile memory device, data storage device including the same and operating method thereof | |
CN109426453B (zh) | 数据存储装置及其操作方法 | |
US20210064542A1 (en) | Memory controller, storage device including memory controller, and operating method of memory controller | |
US11042326B2 (en) | Data storage device and operating method thereof | |
CN108399929A (zh) | 数据存储装置及其操作方法 | |
CN112905107A (zh) | 数据存储装置及其操作方法 | |
TW201946066A (zh) | 資料儲存裝置及其操作方法 | |
US11409473B2 (en) | Data storage device and operating method thereof | |
CN110456981A (zh) | 存储器系统、存储器系统的操作方法以及电子装置 | |
US11157401B2 (en) | Data storage device and operating method thereof performing a block scan operation for checking for valid page counts | |
CN108257629A (zh) | 非易失性存储器装置和包括其的数据存储装置的操作方法 | |
CN107526694A (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 |