CN109426442B - 数据存储装置及其操作方法 - Google Patents
数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN109426442B CN109426442B CN201810054665.9A CN201810054665A CN109426442B CN 109426442 B CN109426442 B CN 109426442B CN 201810054665 A CN201810054665 A CN 201810054665A CN 109426442 B CN109426442 B CN 109426442B
- Authority
- CN
- China
- Prior art keywords
- descriptor
- cache output
- read
- data
- memory device
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- 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
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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/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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供一种数据存储装置,其包括:非易失性存储器装置,以及控制器,其包括描述符生成单元、存储器控制器和缓冲器单元。描述符生成单元将针对第一数据的第一读取描述符传输到存储器控制器,使针对第一数据的第一高速缓冲输出描述符排队,并且通过参考包括在缓冲器单元中的集群的状态将第一高速缓冲输出描述符传输到存储器控制器。存储器控制器基于第一读取描述符将第一读取命令传输到非易失性存储器装置,并且基于第一高速缓冲输出描述符将第一高速缓冲输出命令传输到非易失性存储器装置。
Description
相关申请的交叉引用
本申请要求于2017年8月28日提交的申请号为10-2017-0108787的韩国申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种数据存储装置。更特别地,本公开的各个实施例涉及一种包括非易失性存储器装置的数据存储装置。
背景技术
数据存储装置响应于来自外部装置的写入请求来存储从外部装置提供的数据。并且,数据存储装置响应于来自外部装置的读取请求向外部装置提供存储的数据。作为能够处理数据的电子装置的外部装置包括计算机、数码相机或移动电话。数据存储装置可以通过内置在外部装置中来操作,或者可以通过以可分离的形式制造并且联接到外部装置来操作。
发明内容
在实施例中,一种数据存储装置可以包括:非易失性存储器装置;以及控制器,其包括描述符生成单元、存储器控制器和缓冲器单元,其中描述符生成单元将针对第一数据的第一读取描述符传输到存储器控制器、使针对第一数据的第一高速缓冲输出描述符排队并通过参考包括在缓冲器单元中的集群(cluster)的状态将第一高速缓冲输出描述符传输到存储器控制器,并且其中存储器控制器基于第一读取描述符将第一读取命令传输到非易失性存储器装置,并基于第一高速缓冲输出描述符将第一高速缓冲输出命令传输到非易失性存储器装置。
在实施例中,一种数据存储装置的操作方法可以包括:通过描述符生成单元,将针对第一数据的第一读取描述符传输到存储器控制器,并且使针对第一数据的第一高速缓冲输出描述符排队;通过存储器控制器,基于第一读取描述符将第一读取命令传输到非易失性存储器装置;通过描述符生成单元,通过参考包括在缓冲器单元中的集群的状态将第一高速缓冲输出描述符传输到存储器控制器;以及通过存储器控制器,基于第一高速缓冲输出描述符将第一高速缓冲输出命令传输到非易失性存储器装置。
在实施例中,一种数据存储装置的操作方法可以包括:将针对存储在非易失性存储器装置中的第一数据的第一读取描述符传输到存储器控制器,并且使针对第一数据的第一高速缓冲输出描述符排队;确定是否调度(schedule)对存储在非易失性存储器装置中的第二数据的后续读取操作;以及当未调度后续读取操作时,通过参考包括在缓冲器单元中的集群的状态将第一高速缓冲输出描述符传输到存储器控制器。
附图说明
通过参照附图描述本发明的各个实施例,本发明的以上和其它特征及优点对于本发明所属领域的技术人员将变得更加显而易见,其中:
图1是示出根据本公开的实施例的数据存储装置的框图。
图2是描述根据实施例的非易失性存储器装置同时执行读取操作和高速缓冲输出操作的方法的简图。
图3是描述根据实施例的非易失性存储器装置执行高速缓冲输出操作的方法的简图。
图4是描述图1的描述符生成单元参考缓冲器单元的状态的方法的简图。
图5是描述根据实施例的图1的数据存储装置的操作方法的流程图。
图6是示出包括根据实施例的固态硬盘(SSD)的数据处理系统的简图。
图7是示出包括根据实施例的数据存储装置的数据处理系统的简图。
图8是示出包括根据实施例的数据存储装置的数据处理系统的简图。
图9是示出包括根据实施例的数据存储装置的网络系统的简图。
图10是示出包括在根据实施例的数据存储装置中的非易失性存储器装置的框图。
具体实施方式
在下文中,将通过本发明的示例性实施例参照附图来描述根据本发明的数据存储装置及其操作方法。然而,本发明可以以不同的形式体现并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例以使本发明所属领域的技术人员能够实施本发明的技术方案的程度来详细描述本发明。
应当理解的是,本发明的实施例不限于附图中所示的细节,并且附图不一定按比例绘制,并且在一些情况下可能会夸大比例,以便更清楚地描绘本发明的某些特征。虽然使用特定术语,但是应当理解的是,使用的术语仅用于描述特定实施例,并不旨在限制本发明的范围。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,其可以直接在另一元件上、连接至或联接至另一元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有该元件或也可存在一个或多个中间元件。
当短语“......和......中的至少一个”在本文中与项目列表一起使用时,其是指列表中的单个项目或列表中项目的任何组合。例如,“A、B和C中的至少一个”是指只有A,或只有B,或只有C,或A、B和C的任何组合。
如本文使用的术语“或”是指两个或更多个可选方案中的一个,而不是两者,也不是其任何组合。
如本文使用的,单数形式也旨在包括复数形式,除非上下文另有清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其指定阐述的元件的存在而不排除一个或多个其它元件的存在或添加。如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何一个和所有组合。
除非另有定义,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中定义的那些术语的术语应被理解为具有与其在本公开的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地定义。
在以下描述中,为了提供本发明的彻底理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
也注意的是,在一些情况下,对相关领域的技术人员将显而易见的是,结合一个实施例描述的也被称为特征的元件可单独使用或与另一实施例的其它元件结合使用,除非另有明确说明。
在下文中,将参照附图详细地描述本发明的各个实施例。
图1是示出根据本公开的实施例的数据存储装置100的框图。
数据存储装置100可响应于来自主机装置的写入请求来存储从主机装置提供的数据。并且,数据存储装置100可响应于来自主机装置的读取请求向主机装置提供存储的数据。
数据存储装置100可以通过例如个人计算机存储卡国际协会(PCMCIA)卡、标准闪存(CF)卡、智能媒体卡、记忆棒、各种多媒体卡(MMC、eMMC、RS-MMC和微型MMC)、各种安全数字卡(SD、迷你SD和微型SD)、通用闪存(UFS)、固态硬盘(SSD)等来配置。
数据存储装置100可以包括控制器110和非易失性存储器装置120。
控制器110可以控制数据存储装置100的一般操作。控制器110可以响应于从主机装置传输的写入请求将数据存储在非易失性存储器装置120中,并且可以响应于从主机装置传输的读取请求来读取存储在非易失性存储器装置120中的数据并且将读取的数据传输到主机装置。
控制器110可以包括处理器111、描述符生成单元112、存储器控制器113和缓冲器单元114。
处理器111可以根据主机装置的访问请求控制描述符生成单元112生成适当的描述符。并且,为了执行数据存储装置100的内部管理操作而不管主机装置的访问请求,处理器111可以控制描述符生成单元112生成适当的描述符。内部管理操作可以被执行以延长数据存储装置100的寿命并且保持数据存储装置100的最优操作性能,并且可以包括例如垃圾收集操作、磨损均衡操作、读取回收操作等。
描述符生成单元112可以根据处理器111的控制来生成描述符并且将其提供给存储器控制器113。描述符可以是对待传输到非易失性存储器装置的命令的描述。传输到存储器控制器113的描述符可以被存储在存储器控制器113的执行队列TQ中。
虽然为了说明的目的,本实施例示出执行队列TQ在存储器控制器113内部,但是本公开不限于此。即,根据实施例,执行队列TQ可以单独地位于存储器控制器113外部。描述符生成单元112可以将描述符存储在外部执行队列TQ中,并且可以控制存储器控制器113参考存储在执行队列TQ中的描述符。在以下描述中,描述符生成单元112将描述符传输到存储器控制器113的操作可以理解为将描述符存储在单独的执行队列TQ中以允许存储器控制器113参考描述符的操作。
如稍后将描述的,描述符生成单元112可以生成例如读取描述符和高速缓冲输出描述符。
描述符生成单元112可以包括暂停(suspension)队列SQ。暂停队列SQ可以使高速缓冲输出描述符排队。描述符生成单元112可以生成读取描述符和高速缓冲输出描述符以获得存储在非易失性存储器装置120中的数据,将读取描述符传输到存储器控制器113,并且使高速缓冲输出描述符在暂停队列SQ中排队。
当对非易失性存储器装置120的后续第二读取操作被调度时,暂停队列SQ中排队的高速缓冲输出描述符可以继紧跟第一读取描述符之后的第二读取描述符之后被传输到执行队列TQ。进一步地,暂停队列SQ中排队的高速缓冲输出描述符可以保持在暂停队列SQ中排队,直到确定缓冲器单元114中的空闲集群的数量在预定时间内保持不变。
虽然为了说明的目的,本实施例示出暂停队列SQ在描述符生成单元112内部,但是本公开不限于此。即,根据实施例,注意的是,暂停队列SQ可以单独地位于描述符生成单元112外部。
存储器控制器113可以基于以先进先出(FIFO)方式工作的执行队列TQ中排队的描述符来生成命令,并且可以将命令传输到非易失性存储器装置120。
详细地,存储器控制器113可以基于读取描述符来生成读取命令,并且将读取命令传输到非易失性存储器装置120。非易失性存储器装置120可以响应于读取命令从单元区域121读取数据并且将数据缓冲在缓冲器区域122中。
进一步地,存储器控制器113可以基于在执行队列TQ中排队的高速缓冲输出描述符来生成高速缓冲输出命令,并且将高速缓冲输出命令传输到非易失性存储器装置120。非易失性存储器装置120可以响应于高速缓冲输出命令将缓冲在缓冲器区域122中的数据输出到存储器控制器113。
同时,如上所述,当将针对存储在非易失性存储器装置120中的第一数据的、当前在执行队列TQ中排队的第一读取描述符传输到存储器控制器113时,描述符生成单元112可以使针对第一数据的第一高速缓冲输出描述符在暂停队列SQ中排队。如果在第一读取操作之后,对存储在非易失性存储器装置120中的第二数据的第二读取操作被调度,则描述符生成单元112可以使针对第二数据的后续第二读取描述符和针对第一数据的第一高速缓冲输出描述符在存储器控制器113的执行队列TQ中相继排队。
存储器控制器113可以基于在执行队列TQ中相继排队的第二读取描述符和第一高速缓冲输出描述符,将针对第二数据的第二读取命令和针对第一数据的第一高速缓冲输出命令相继传输到非易失性存储器装置120。因此,非易失性存储器装置120可以响应于第二读取命令将第二数据从单元区域121读出到缓冲器区域122,并且同时,可以响应于第一高速缓冲输出命令将缓冲在缓冲器区域122中的第一数据传输到存储器控制器113。
同时,如果对非易失性存储器装置120的第二读取操作没有在第一读取操作之后被调度,并且因此排队的第一高速缓冲输出描述符保持在暂停队列SQ中排队,则第一数据也可以保持缓冲在缓冲器区域122中。这种情况可能延迟完成来自主机装置的读取请求的处理。
并且,当数据存储装置100包括多个非易失性存储器装置且其中一个非易失性存储器装置120保持缓冲多个非易失性存储器装置中的读取数据时,按照次序将顺序读取数据输出到主机装置可能被限制,并且数据存储装置100可能处于卡机(stuck)状态。
根据本实施例,即使对非易失性存储器装置120的后续第二读取操作未被调度,当预定执行条件被满足时,描述符生成单元112可以在没有针对后续第二读取操作的第二读取描述符的情况下,将在暂停队列SQ中排队的第一高速缓冲输出描述符传输到存储器控制器113。在该情况下,存储器控制器113可以基于第一高速缓冲输出描述符来生成第一高速缓冲输出命令,并且在没有第二读取命令的情况下将第一高速缓冲输出命令传输到非易失性存储器装置120。因此,非易失性存储器装置120可以将缓冲在缓冲器区域122中的第一数据输出到存储器控制器113。
虽然未示出,但是缓冲器单元114可以包括多个集群,并且可以在集群中临时缓冲待在主机装置和非易失性存储器装置120之间传输的数据。缓冲器单元114可以根据处理器111的请求来分配用于处理主机装置的访问请求的集群。可以按照待被缓冲的数据的大小来分配集群。
当主机装置的读取请求被处理时,缓冲器单元114可以在分配给读取请求的集群中缓冲从非易失性存储器装置120输出的数据,直到数据被传输到主机装置。在数据被输出到主机装置之后,即,在读取请求被完全地处理之后,分配给读取请求的集群可以被清除并且变成空闲的。
用于处理仅在暂停队列SQ中排队的第一高速缓冲输出描述符的预定执行条件可以是缓冲器单元114的空闲集群的数量在预定时间内保持不变。
详细地,当在暂停队列SQ中排队的第一高速缓冲输出描述符保持排队时,描述符生成单元112可以确定是否调度对非易失性存储器装置120的后续第二读取操作。换言之,描述符生成单元112可以确定是否从处理器111指示对非易失性存储器装置120的读取访问。
当对非易失性存储器装置120的后续第二读取操作未被调度时,描述符生成单元112可以参考缓冲器单元114的状态,并且当空闲集群的数量在预定时间内保持不变时,描述符生成单元112可以将在暂停队列SQ中排队的第一高速缓冲输出描述符传输到存储器控制器113。当空闲集群的数量增加/减少时,描述符生成单元112可以使第一高速缓冲输出描述符保持在暂停队列SQ中排队,并且可以确定是否调度对非易失性存储器装置120的后续第二读取操作。如果对非易失性存储器装置120的后续第二读取操作被调度,同时空闲集群的数量在预定时间内保持不变,则描述符生成单元112可以生成与第二读取操作相对应的的第二读取描述符和第二高速缓冲输出描述符,并且可以将第二读取描述符和排队的第一高速缓冲输出描述符相继传输到存储器控制器113。
根据实施例,当缓冲器单元114的空闲集群的数量在预定时间内保持不变时,描述符生成单元112可以将在暂停队列SQ中排队的第一高速缓冲输出描述符传输到存储器控制器113。如果缓冲器单元114的空闲集群的数量在预定时间内再次变化,则描述符生成单元112可以使第一高速缓冲输出描述符保持在暂停队列SQ中排队,并且可以确定是否调度对非易失性存储器装置120的后续第二读取操作。
稍后将描述用于操作描述符生成单元112和存储器控制器113的详细方法。
根据控制器110的控制,非易失性存储器装置120可以存储从控制器110传输的数据并且可以读取存储的数据并将读取的数据输出到控制器110。
非易失性存储器装置120可以包括单元区域121和缓冲器区域122。
单元区域121可以存储数据。虽然未示出,但是单元区域121可以包括多个存储器单元。存储器单元中的每一个可以存储至少一个数据位。
缓冲器区域122可以缓冲待被存储在单元区域121中的数据以及待被输出到存储器控制器113的数据。缓冲器区域122可以由易失性存储器或非易失性存储器来实现。
非易失性存储器装置120可以响应于从存储器控制器113传输的读取命令来执行读取操作。即,非易失性存储器装置120可以响应于读取命令从单元区域121读取数据并且将读取的数据缓冲在缓冲器区域122中。
非易失性存储器装置120可以响应于从存储器控制器113传输的高速缓冲输出命令来执行高速缓冲输出操作。即,非易失性存储器装置120可以响应于高速缓冲输出命令将缓冲在缓冲器区域122中的数据输出到存储器控制器113。
当读取命令和高速缓冲输出命令被相继传输时,非易失性存储器装置120可以同时执行读取操作和高速缓冲输出操作。即,非易失性存储器装置120可以响应于读取命令从单元区域121读取数据,并且同时可以将缓冲在缓冲器区域122中的数据输出到存储器控制器113。
非易失性存储器装置120可以包括诸如NAND闪存或NOR闪存的闪速存储器、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁阻式随机存取存储器(MRAM)、电阻式随机存取存储器(ReRAM)等。
虽然在图1中示出数据存储装置100包括一个非易失性存储器装置120,但是本公开不限于此。即,应当注意的是,包括在数据存储装置100中的非易失性存储器装置的数量可以多于一个。
图2是描述根据实施例的非易失性存储器装置120同时执行读取操作和高速缓冲输出操作的方法的简图。
参照图2,在时间T11处,控制器110可以将第一读取命令RCMD1传输到非易失性存储器装置120。非易失性存储器装置120可以响应于第一读取命令RCMD1从单元区域121读取第一数据DT1,并且将第一数据DT1缓冲在缓冲器区域122中。
在时间T12处,控制器110可以将第二读取命令RCMD2和第一高速缓冲输出命令CCMD1相继传输到非易失性存储器装置120。非易失性存储器装置120可以响应于第二读取命令RCMD2从单元区域121读取第二数据DT2,并且同时,可以响应于第一高速缓冲输出命令CCMD1将第一数据DT1输出到控制器110。因此,由于将第一数据DT1输出到控制器110的进程和从单元区域121读取第二数据DT2的进程重叠,因此数据存储装置100的读取性能可以提高。
如果待传输到非易失性存储器装置120的第二读取命令RCMD2不存在,则非易失性存储器装置120可以使第一数据DT1保持缓冲在缓冲器区域122中。如果这种数据高速缓冲状态被延长,则由于来自主机装置的读取请求的处理的完成被延迟,因此数据存储装置100的延迟特性可能劣化。
图3是描述根据实施例的非易失性存储器装置120执行高速缓冲输出操作的方法的简图。
参照图3,时间T21可以是,例如,在图2的时间T12之后,第二数据DT2被保持缓冲在缓冲器区域122中的情况。
在时间T22处,当对非易失性存储器装置120的后续第三读取操作未被调度时,根据基于缓冲器单元114的状态的预定执行条件,在没有后续读取命令的情况下,控制器110可以仅将第二高速缓冲输出命令CCMD2传输到非易失性存储器装置120。非易失性存储器装置120可以响应于第二高速缓冲输出命令CCMD2将第二数据DT2输出到控制器110。
图4是描述图1的描述符生成单元112参考缓冲器单元114的状态的方法的简图。
参照图4,缓冲器单元114可以包括例如总共12个集群C0至C11。缓冲器单元114可以根据处理器111的请求将适当大小的集群分配给主机装置的访问请求。
例如,集群C0至C8可以处于被分配给主机装置的访问请求的状态。集群C9至C11可以处于空闲状态。在关联的访问请求被处理之后,集群C0至C8中的每一个可以被清除并且变成空闲集群。
当对非易失性存储器装置120的当前调度的读取操作不存在并且因此排队的高速缓冲输出描述符未被处理时,描述符生成单元112可以参考缓冲器单元114的空闲集群C9至C11的数量变化。例如,描述符生成单元112可以参考缓冲器单元114的空闲集群C9至C11的数量是否在预定时间内保持不变。描述符生成单元112可以请求缓冲器单元114检查空闲集群C9至C11的数量变化。
当集群C0至C11中的空闲集群C9至C11的数量在预定时间内保持不变时,描述符生成单元112可以在没有后续读取操作的读取描述符的情况下将在暂停队列SQ中排队的高速缓冲输出描述符传输到存储器控制器113。
同时,当集群C0至C11中的空闲集群C9至C11的数量增加或减少时,描述符生成单元112可以使高速缓冲输出描述符保持在暂停队列SQ中排队。由于空闲集群的数量的增加或减少意味着数据存储装置100尚未处于卡机状态,因此高速缓冲输出描述符可以保持排队。描述符生成单元112可以持续检查空闲集群的数量是否在预定时间内保持不变。如果其间调度对非易失性存储器装置120的后续读取操作,则描述符生成单元112可以将针对后续读取操作的读取描述符和当前在暂停队列SQ中排队的高速缓冲输出描述符相继传输到存储器控制器113。
换言之,空闲集群C9至C11的数量在预定时间内保持不变的事实可意味着数据被保持缓冲在非易失性存储器装置120中。此外,空闲集群C9至C11的数量在预定时间内保持不变的事实可意味着不仅非易失性存储器装置120未处理数据,而且包括在数据存储装置100中的其它非易失性存储器装置也未处理数据,因此数据存储装置100处于卡机状态。进一步地,空闲集群C9至C11的数量在预定时间内保持不变的事实可意味着当前没有产生针对主机装置的吞吐量。因此,由于高速缓冲输出描述符的排队状态是否结束取决于缓冲器单元114的空闲集群的数量并且考虑数据存储装置100的实际卡机状态,因此数据存储装置100的延迟特性可以有效地提高。
图5是描述根据实施例的图1的数据存储装置100的操作方法的流程图。
参照图5,在步骤S110处,描述符生成单元112可以根据处理器111(图1所示)的指令生成读取描述符和高速缓冲输出描述符。
在步骤S120处,描述符生成单元112可以确定先前的高速缓冲输出描述符是否保持在暂停队列SQ中排队。当先前的高速缓冲输出描述符保持排队时,进程可以进行到步骤S130。
在步骤S130处,描述符生成单元112可以将在步骤S110处生成的读取描述符和排队的先前的高速缓冲输出描述符相继传输到存储器控制器113。描述符生成单元112可以使在步骤S110处生成的当前高速缓冲输出描述符在暂停队列SQ中排队。
因此,存储器控制器113可以基于读取描述符和先前的高速缓冲输出描述符将读取命令和高速缓冲输出命令相继传输到非易失性存储器装置120。非易失性存储器装置120可以响应于读取命令将数据从单元区域121读取到缓冲器区域122,并且同时,可以响应于高速缓冲输出命令将缓冲在缓冲器区域122中的数据输出到控制器110。
同时,当任何先前的高速缓冲输出描述符都不保持排队时,进程可以进行到步骤S140。
在步骤S140处,描述符生成单元112可以将在步骤S110处生成的读取描述符传输到存储器控制器113,并且可以使高速缓冲输出描述符在暂停队列SQ中排队。
传输到存储器控制器113的描述符可以在执行队列TQ中排队,并且存储器控制器113可以通过根据以FIFO的方式在执行队列TQ中排队的排队描述符生成命令来控制非易失性存储器装置120执行操作。因此,存储器控制器113可以基于读取描述符将读取命令传输到非易失性存储器装置120。非易失性存储器装置120可以响应于读取命令将数据从单元区域121读取到缓冲器区域122。
在步骤S150处,描述符生成单元112可以确定是否调度对非易失性存储器装置120的后续读取操作。当调度后续读取操作时,进程可以进行到步骤S110。
然而,当未调度后续读取操作时,进程可以进行到步骤S160。
在步骤S160处,描述符生成单元112可以确定缓冲器单元140的空闲集群的数量是否在预定时间内保持不变。当空闲集群的数量未在预定时间内保持不变时,进程可以进行到步骤S150。即,在步骤S150处,描述符生成单元112可以再次确定是否调度后续读取操作。
同时,当在步骤S160处,空闲集群的数量在预定时间内保持不变时,进程可以进行到步骤S170。
在步骤S170处,描述符生成单元112可以将排队的高速缓冲输出描述符传输到存储器控制器113。
因此,存储器控制器113可以基于高速缓冲输出描述符将高速缓冲输出命令传输到非易失性存储器装置120。非易失性存储器装置120可以响应于高速缓冲输出命令将缓冲在缓冲器区域122中的数据输出到控制器110。
图6是示出包括根据本公开的实施例的固态硬盘(SSD)1200的数据处理系统1000的简图。参照图6,数据处理系统1000可以包括主机装置1100和SSD 1200。
SSD 1200可以包括控制器1210、缓冲存储器装置1220、多个非易失性存储器装置1231至123n、电源1240、信号连接器1250和电源连接器1260。
控制器1210可以控制SSD 1200的一般操作。控制器1210可以包括主机接口单元1211、控制单元1212、随机存取存储器(RAM)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提供给SSD1200的内部。电源1240可以包括辅助电源1241。辅助电源1241可以当发生突然断电时供给电力以允许SSD1200正常地终止。辅助电源1241可以包括大容量电容器。
根据主机装置1100和SSD 1200之间的接口方案,信号连接器1250可以由各种类型的连接器配置。
根据主机装置1100的电源方案,电源连接器1260可以由各种类型的连接器配置。
图7是示出包括根据实施例的数据存储装置2200的数据处理系统2000的简图。参照图7,数据处理系统2000可以包括主机装置2100和数据存储装置2200。
主机装置2100可以被配置成诸如印刷电路板(PCB)的板的形式。虽然未示出,但是主机装置2100可以包括用于执行主机装置的功能的内部功能块。
主机装置2100可以包括诸如插座、插槽或连接器的连接端子2110。数据存储装置2200可以被安装到连接端子2110。
数据存储装置2200可以被配置成诸如PCB的板的形式。数据存储装置2200可以被称为存储器模块或存储卡。数据存储装置2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(PMIC)2240和连接端子2250。
控制器2210可以控制数据存储装置2200的一般操作。控制器2210可以以与图6所示的控制器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的任意一侧上。
图8是示出包括根据实施例的数据存储装置3200的数据处理系统3000的简图。参照图8,数据处理系统3000可以包括主机装置3100和数据存储装置3200。
主机装置3100可以被配置成诸如PCB的板的形式。虽然未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
数据存储装置3200可以被配置成表面安装型封装的形式。数据存储装置3200可以通过焊球3250被安装到主机装置3100。数据存储装置3200可以包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。
控制器3210可以控制数据存储装置3200的一般操作。控制器3210可以以与图6所示的控制器1210相同的方式来配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3230中的数据。进一步地,缓冲存储器装置3220可以临时存储从非易失性存储器装置3230读取的数据。临时存储在缓冲存储器装置3220中的数据可以根据控制器3210的控制被传输到主机装置3100或非易失性存储器装置3230。
非易失性存储器装置3230可以用作数据存储装置3200的存储介质。
图9是示出包括根据实施例的数据存储装置4200的网络系统4000的简图。参照图9,网络系统4000可以包括通过网络4500联接的服务器系统4300和多个客户端系统4410至4430。
服务器系统4300可以响应于来自多个客户端系统4410至4430的请求来服务数据。例如,服务器系统4300可以存储从多个客户端系统4410到4430提供的数据。又例如,服务器系统4300可以将数据提供给多个客户端系统4410至4430。
服务器系统4300可以包括主机装置4100和数据存储装置4200。数据存储装置4200可以由图1所示的数据存储装置100、图6所示的数据存储装置1200、图7所示的数据存储装置2200或图8所示的数据存储装置3200来配置。
图10是示出包括在根据实施例的数据存储装置中的非易失性存储器装置300的框图。参照图10,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压发生器350和控制逻辑360。
存储器单元阵列310可以包括布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域处的存储器单元MC。
行解码器320可以通过字线WL1至WLm与存储器单元阵列310联接。行解码器320可以根据控制逻辑360的控制来操作。行解码器320可以解码从外部装置(未示出)提供的地址。行解码器320可以基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器320可以将从电压发生器350提供的字线电压提供给字线WL1至WLm。
数据读取/写入块330可以通过位线BL1至BLn与存储器单元阵列310联接。数据读取/写入块330可以包括分别对应于位线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块330可以根据控制逻辑360的控制来操作。数据读取/写入块330可以根据操作模式作为写入驱动器或读出放大器来操作。例如,数据读取/写入块330可以作为写入驱动器来操作,该写入驱动器在写入操作中将从外部装置提供的数据存储在存储器单元阵列310中。又例如,数据读取/写入块330可以作为读出放大器来操作,该读出放大器在读取操作中从存储器单元阵列310读出数据。
列解码器340可以根据控制逻辑360的控制来操作。列解码器340可以解码从外部装置提供的地址。列解码器340可以基于解码结果来将分别对应于位线BL1至BLn的数据读取/写入块330的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。
电压发生器350可以产生待用于非易失性存储器装置300的内部操作的电压。由电压发生器350产生的电压可以被施加到存储器单元阵列310的存储器单元。例如,在编程操作中产生的编程电压可以被施加到待执行编程操作的存储器单元的字线。又例如,在擦除操作中产生的擦除电压可以被施加到待执行擦除操作的存储器单元的阱区。再例如,在读取操作中产生的读取电压可以被施加到待执行读取操作的存储器单元的字线。
控制逻辑360可以基于从外部装置提供的控制信号来控制非易失性存储器装置300的一般操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。
虽然上面已经描述各个实施例,但是本领域技术人员将理解,描述的实施例仅是示例。因此,本文描述的数据存储装置及其操作方法不应基于描述的实施例来限制。
Claims (18)
1.一种数据存储装置,其包括:
非易失性存储器装置;
控制器,其包括被配置为生成描述符的描述符生成单元;
存储器控制器,其被配置为基于所述描述符生成待传输到所述非易失性存储器装置的命令,以及
缓冲器单元,其包括多个集群,
其中所述描述符生成单元被配置为生成第一读取数据描述符和第一高速缓冲输出描述符两者以获得存储在所述非易失性存储器装置中的第一数据,在将所述第一读取描述符传输到所述存储器控制器时使所述第一高速缓冲输出描述符排队,并通过参考包括在所述缓冲器单元中的集群的状态确定是否将所述第一高速缓冲输出描述符传输到所述存储器控制器,并且
其中所述存储器控制器基于所述第一读取描述符将第一读取命令传输到所述非易失性存储器装置,并基于所述第一高速缓冲输出描述符将第一高速缓冲输出命令传输到所述非易失性存储器装置。
2.根据权利要求1所述的数据存储装置,其中,在参考所述集群的状态之前,所述描述符生成单元确定是否调度对所述非易失性存储器装置的后续读取操作。
3.根据权利要求1所述的数据存储装置,其中当包括在所述缓冲器单元中的空闲集群的数量在预定时间内保持不变时,所述描述符生成单元将所述第一高速缓冲输出描述符传输到所述存储器控制器。
4.根据权利要求3所述的数据存储装置,其中当空闲集群的数量未在预定时间内保持不变时,所述描述符生成单元使所述第一高速缓冲输出描述符保持排队,并且当对所述非易失性存储器装置的后续读取操作未被调度时,所述描述符生成单元再次检查空闲集群的数量。
5.根据权利要求1所述的数据存储装置,其中,当在参考所述集群的状态之前调度对存储在所述非易失性存储器装置中的第二数据的后续读取操作时,所述描述符生成单元将针对所述第二数据的第二读取描述符和所述第一高速缓冲输出描述符相继传输到所述存储器控制器。
6.根据权利要求5所述的数据存储装置,其中所述存储器控制器基于所述第二读取描述符和所述第一高速缓冲输出描述符,将第二读取命令和所述第一高速缓冲输出命令相继传输到所述非易失性存储器装置。
7.根据权利要求6所述的数据存储装置,其中所述非易失性存储器装置响应于所述第二读取命令对所述第二数据执行读取操作,并且基本上同时响应于所述第一高速缓冲输出命令对所述第一数据执行高速缓冲输出操作。
8.一种数据存储装置的操作方法,其包括:
描述符生成单元生成第一读取数据描述符和第一高速缓冲输出描述符两者以获得存储在非易失性存储器装置中的第一数据,
通过所述描述符生成单元,在将所第一读取描述符传输到存储器控制器时,使所述第一高速缓冲输出描述符排队;
通过所述存储器控制器,基于所述第一读取描述符将第一读取命令传输到所述非易失性存储器装置;
所述描述符生成单元通过参考包括在缓冲器单元中的集群的状态确定是否将所述第一高速缓冲输出描述符传输到所述存储器控制器;以及
通过所述存储器控制器,基于从所述描述符生成单元传输的所述第一高速缓冲输出描述符将第一高速缓冲输出命令传输到所述非易失性存储器装置。
9.根据权利要求8所述的方法,其进一步包括:
在参考所述集群的状态之前,通过所述描述符生成单元确定是否调度对所述非易失性存储器装置的后续读取操作。
10.根据权利要求8所述的方法,其中所述第一高速缓冲输出描述符的传输包括:
当包括在所述缓冲器单元中的空闲集群的数量在预定时间内保持不变时,通过所述描述符生成单元将所述第一高速缓冲输出描述符传输到所述存储器控制器。
11.根据权利要求10所述的方法,其中所述第一高速缓冲输出描述符的传输包括:
当空闲集群的数量未在预定时间内保持不变时,通过所述描述符生成单元使所述第一高速缓冲输出描述符保持排队;以及
当未调度对所述非易失性存储器装置的后续读取操作时,通过所述描述符生成单元再次检查空闲集群的数量。
12.根据权利要求8所述的方法,其进一步包括:
当在参考所述集群的状态之前调度对存储在所述非易失性存储器装置中的第二数据的后续读取操作时,通过所述描述符生成单元将针对所述第二数据的第二读取描述符和所述第一高速缓冲输出描述符相继传输到所述存储器控制器。
13.根据权利要求12所述的方法,其进一步包括:
通过所述存储器控制器,基于所述第二读取描述符和所述第一高速缓冲输出描述符,将第二读取命令和所述第一高速缓冲输出命令相继传输到所述非易失性存储器装置。
14.根据权利要求13所述的方法,其进一步包括:
通过所述非易失性存储器装置,响应于所述第二读取命令对所述第二数据执行读取操作,并且基本上同时响应于所述第一高速缓冲输出命令对所述第一数据执行高速缓冲输出操作。
15.一种数据存储装置的操作方法,其包括:
生成第一读取数据描述符和第一高速缓冲输出描述符两者以获得存储在非易失性存储器装置中的第一数据,
在将所述第一读取描述符传输到存储器控制器时使所述第一高速缓冲输出描述符排队;
确定是否调度对存储在所述非易失性存储器装置中的第二数据的后续读取操作;以及
当未调度后续读取操作时,通过参考包括在缓冲器单元中的集群的状态确定是否将所述第一高速缓冲输出描述符传输到所述存储器控制器。
16.根据权利要求15所述的方法,其进一步包括:
当调度后续读取操作时,将针对所述第二数据的第二读取描述符和所述第一高速缓冲输出描述符相继传输到所述存储器控制器。
17.根据权利要求15所述的方法,其中所述第一高速缓冲输出描述符的传输包括:
当包括在所述缓冲器单元中的空闲集群的数量在预定时间内保持不变时,将所述第一高速缓冲输出描述符传输到所述存储器控制器。
18.根据权利要求17所述的方法,其中所述第一高速缓冲输出描述符的传输包括:
当空闲集群的数量未在预定时间内保持不变时,使所述第一高速缓冲输出描述符保持排队;以及
当未调度对所述非易失性存储器装置的后续读取操作时,再次检查空闲集群的数量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170108787A KR102381233B1 (ko) | 2017-08-28 | 2017-08-28 | 데이터 저장 장치 및 그것의 동작 방법 |
KR10-2017-0108787 | 2017-08-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109426442A CN109426442A (zh) | 2019-03-05 |
CN109426442B true CN109426442B (zh) | 2022-01-18 |
Family
ID=65435158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810054665.9A Active CN109426442B (zh) | 2017-08-28 | 2018-01-19 | 数据存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10698830B2 (zh) |
KR (1) | KR102381233B1 (zh) |
CN (1) | CN109426442B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190072229A (ko) | 2017-12-15 | 2019-06-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
JP2020149526A (ja) | 2019-03-15 | 2020-09-17 | 株式会社東芝 | 処理装置、処理方法及びプログラム |
JP2020154493A (ja) * | 2019-03-19 | 2020-09-24 | キオクシア株式会社 | メモリシステム |
US12066947B2 (en) * | 2020-02-14 | 2024-08-20 | Micron Technology, Inc. | Optimization of quality of service of data storage devices |
KR20210112915A (ko) * | 2020-03-06 | 2021-09-15 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작 방법 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100598907B1 (ko) | 2005-05-12 | 2006-07-10 | 주식회사 테라반도체 | 연속적 읽기/쓰기가 가능한 플래쉬 메모리 |
US20080151670A1 (en) * | 2006-12-22 | 2008-06-26 | Tomohiro Kawakubo | Memory device, memory controller and memory system |
EP1988549B1 (fr) * | 2007-05-02 | 2010-10-27 | Stmicroelectronics Sa | Mémoire non volatile à effacement partiel |
WO2009039222A2 (en) * | 2007-09-19 | 2009-03-26 | Marvell World Trade Ltd. | Flexible sequencer design architecture for solid state memory controller |
JP4632099B2 (ja) * | 2008-04-10 | 2011-02-16 | ソニー株式会社 | メモリ制御装置及びその制御方法 |
CN102566939B (zh) * | 2011-12-19 | 2014-12-03 | 记忆科技(深圳)有限公司 | 一种固态硬盘及其读-修改-写操作的数据管理方法 |
CN102609222B (zh) * | 2012-02-13 | 2015-03-25 | 山东华芯半导体有限公司 | 基于命令描述符的闪存控制方法 |
US8902657B2 (en) * | 2012-09-07 | 2014-12-02 | Kabushiki Kaisha Toshiba | Semiconductor memory device and controller |
KR20140064434A (ko) * | 2012-11-20 | 2014-05-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법 |
US9519514B2 (en) * | 2014-01-29 | 2016-12-13 | Marvell Israel (M.I.S.L) Ltd. | Interfacing with a buffer manager via queues |
US9846650B2 (en) | 2015-03-09 | 2017-12-19 | Samsung Electronics Co., Ltd. | Tail response time reduction method for SSD |
KR102395541B1 (ko) * | 2015-07-09 | 2022-05-11 | 에스케이하이닉스 주식회사 | 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치 |
-
2017
- 2017-08-28 KR KR1020170108787A patent/KR102381233B1/ko active IP Right Grant
- 2017-12-19 US US15/847,429 patent/US10698830B2/en active Active
-
2018
- 2018-01-19 CN CN201810054665.9A patent/CN109426442B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20190065386A1 (en) | 2019-02-28 |
KR20190023292A (ko) | 2019-03-08 |
CN109426442A (zh) | 2019-03-05 |
KR102381233B1 (ko) | 2022-04-01 |
US10698830B2 (en) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109426442B (zh) | 数据存储装置及其操作方法 | |
CN110727394B (zh) | 数据存储装置、该数据存储装置的操作方法以及存储系统 | |
CN108415664B (zh) | 数据存储装置及其操作方法 | |
CN110858126B (zh) | 数据存储设备及其操作方法和具有该设备的存储系统 | |
US20220138096A1 (en) | Memory system | |
CN109426627B (zh) | 数据存储装置及其操作方法 | |
US20200174921A1 (en) | Data storage device, operation method thereof, and storage system including the same | |
CN111177018A (zh) | 存储器系统及其操作方法 | |
US20230127204A1 (en) | Controller of memory system and operating method thereof | |
CN111078129A (zh) | 存储器系统及其操作方法 | |
US10606509B2 (en) | Data storage device managing write tag, writing operation method thereof, and storage system including the same | |
CN109840224B (zh) | 存储器系统及其操作方法 | |
CN108417232B (zh) | 数据存储装置及其操作方法 | |
CN111352856B (zh) | 存储器系统及其操作方法 | |
CN110874335A (zh) | 数据存储装置、其操作方法以及具有该装置的存储系统 | |
CN109933282B (zh) | 存储器系统及其操作方法 | |
CN109871339B (zh) | 存储器系统以及该存储器系统的操作方法 | |
KR20220068385A (ko) | 메모리 시스템 | |
CN109933281B (zh) | 存储器系统及其操作方法 | |
CN111309647B (zh) | 存储装置 | |
US10867644B2 (en) | Memory system and operating method thereof | |
CN110825654B (zh) | 存储器系统及其操作方法 | |
CN113157200A (zh) | 存储器系统及包括存储器系统的数据处理系统 | |
CN111324302A (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 |