CN109582218A - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN109582218A CN109582218A CN201810676715.7A CN201810676715A CN109582218A CN 109582218 A CN109582218 A CN 109582218A CN 201810676715 A CN201810676715 A CN 201810676715A CN 109582218 A CN109582218 A CN 109582218A
- Authority
- CN
- China
- Prior art keywords
- read requests
- buffer
- size
- cluster
- volatile memory
- 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
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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- 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/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/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- 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
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0658—Controller construction 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
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)
Abstract
本发明公开一种存储器系统,其包括:多个非易失性存储器装置,其共享通信线;以及控制器,其包括缓冲器和内核,并且适于通过通信线控制非易失性存储器装置,其中内核确定针对非易失性存储器装置的多个读取请求的类型,并且根据类型设置缓冲器的可用大小。
Description
相关申请的交叉引用
本申请要求于2017年9月29日向韩国知识产权局提交的申请号为10-2017-0127241的韩国申请的优先权,其全部内容通过引用并入本文。
技术领域
本公开的各个示例性实施例总体涉及一种存储器系统。特别地,实施例涉及一种包括非易失性存储器装置的存储器系统。
背景技术
存储器系统可响应于写入请求存储由外部装置提供的数据。存储器系统还可响应于读取请求将存储的数据提供给外部装置。使用存储器系统的外部装置的示例包括计算机、数码相机、移动电话等。存储器系统可在外部装置的制造期间被嵌入在外部装置中,或者可被单独制造并且然后连接到外部装置。
发明内容
在实施例中,存储器系统可包括:多个非易失性存储器装置,其共享通信线;以及控制器,其包括缓冲器和内核,并且适于通过通信线控制非易失性存储器装置,其中内核确定针对非易失性存储器装置的多个读取请求的类型,并且根据类型设置缓冲器的可用大小。
在实施例中,存储器系统的操作方法可包括:确定针对多个非易失性存储器装置的多个读取请求的类型;并且根据类型设置缓冲器的可用大小。
在实施例中,存储器系统的操作方法可包括:调整缓冲器的可用大小;请求为多个读取请求中的每一个分配群集;基于根据可用大小计算的缓冲器的空闲大小来分配群集;以及处理分配了群集的读取请求。
在实施例中,存储器系统可包括:多个存储器装置;缓冲器,适于缓冲待被提供给主机的数据,缓冲器具有可变动的大小;以及控制器,适于:响应于读取请求来控制多个存储器装置中的每一个将读取的数据提供给缓冲器,响应于多个有序读取请求调整缓冲器的大小以被调整为适应多个有序读取请求的子集,并且按顺序为有序读取请求的子集分配缓冲器。
附图说明
图1是示出根据实施例的存储器系统的框图。
图2是说明根据实施例的处理第一至第三读取请求的方法的示图。
图3A和图3B是说明根据实施例的通过设置缓冲器的可用大小来处理有序读取请求的方法的示图。
图4是说明根据实施例的存储器系统的操作方法的流程图。
图5是示出包括根据实施例的固态驱动器(SSD)的数据处理系统的示图。
图6是示出包括根据实施例的存储器系统的数据处理系统的示图。
图7是示出包括根据实施例的存储器系统的数据处理系统的示图。
图8是示出包括根据实施例的存储器系统的网络系统的示图。
图9是示出包括在根据实施例的存储器系统中的非易失性存储器装置的框图。
具体实施方式
将参照附图来描述根据本发明的实施例的存储器系统及其操作方法。然而,本发明可以不同的形式体现,并不应被解释为限于本文所阐述的实施例。相反,提供这些实施例以详细地描述本发明至本发明所属领域的技术人员能够实施本发明的技术构思的程度。此外,对“实施例”的参考不一定表示仅一个实施例,并且对“实施例”的不同参考一定针对相同的实施例。
将理解的是,本发明的实施例不限于附图所示的细节。附图不一定按比例绘制,在一些情况下,为了更清楚地示出本发明的某些特征,可能夸大了比例。虽然使用了特定术语,但是应当理解的是,所使用的术语仅用于描述一个或多个特定实施例,而不旨在限制本发明的范围。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
当短语“……和……中的至少一个”在本文中与项目列表一起使用时,其指列表中的单个项目或列表中项目的任何组合。例如,“A、B和C中的至少一个”指仅A或仅B或仅C,或A、B和C的任何组合。
如本文使用的,单数形式也旨在包括复数形式并且反之亦然,除非上下文另有清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指明阐述元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关所列项目的任意和所有组合。
除非另有定义,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开的上下文中和相关技术中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在以下描述中,为了提供本发明的全面理解,阐述了许多具体细节。可以在没有这些具体细节中的一些或全部的情况下实施本发明。在其它情况下,为了不使本发明不必要模糊,未详细地描述公知的进程结构和/或进程。
还注意到的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有特别说明,否则结合一个实施例所描述的元件或特征可以单独使用或与另一实施例的其它元件或特征组合使用。
将参照附图详细描述本发明的各个实施例。
图1是示出根据实施例的存储器系统100的框图。
存储器系统100可响应于来自主机装置的写入请求,存储从主机装置提供的数据。而且,存储器系统100可响应于来自主机装置的读取请求,将存储的数据提供给主机装置。
存储器系统100可由个人计算机存储卡国际协会(PCMCIA)卡、标准闪存(CF)卡、智能媒体卡、记忆棒、各种多媒体卡(MMC、eMMC、RS-MMC和MMC-Micro)、各种安全数字卡(SD、迷你-SD和微型-SD)、通用闪存(UFS)、固态驱动器(SSD)等来配置。
存储器系统100可包括控制器110和存储介质120。存储介质120可包括第一至第四非易失性存储器装置M1至M4。
控制器110可通过控制存储介质120而将数据存储在存储介质120中。控制器110可包括内核CORE、缓冲器BUF、缓冲器管理器BM和访问单元ACU。ACU可被实现为诸如集成电路或专用集成电路(ASIC)的硬件部件,或被实现为诸如被配置成执行编程指令的处理器的硬件部件和软件部件的组合。
内核CORE可控制控制器110的一般操作。当从主机装置接收到读取请求时,内核CORE可请求缓冲器管理器BM分配缓冲器BUF的群集。群集可根据读取请求存储从存储介质120读取的数据,直到该数据被传输到主机装置。当为读取请求分配了群集时,内核CORE可指示访问单元ACU处理读取请求。
当从主机装置接收到多个读取请求时,内核CORE可确定读取请求的类型。详细地,内核CORE可确定读取请求的类型为有序还是无序。当读取请求为按顺序排列的“有序”读取请求时,响应于有序读取请求而分别读取的数据应当根据有序读取请求的顺序被传输到主机装置。当读取请求为未按顺序排列的“无序”读取请求时,响应于无序读取请求而分别读取的数据可按照从存储介质120读取数据的顺序被传输。
当读取请求的类型为有序时,内核CORE可设置缓冲器BUF的允许大小。详细地,内核CORE可将允许大小设置成通过存储介质120中的非易失性存储器装置的单个读取操作能够被传输到缓冲器BUF的最大数据大小的两倍。这种最大数据大小可以是待通过非易失性存储器装置的单个读取操作被提供给缓冲器BUF的数据量的两倍。例如,缓冲器BUF的允许大小可被设置成存储待响应于对存储介质120中的两个非易失性存储器装置的两个读取请求而被处理的数据。如稍后将描述的,缓冲器BUF的允许大小可允许第一至第四非易失性存储器装置M1至M4在保持有序读取请求的顺序的同时执行操作。
可预先确定缓冲器BUF的大小。例如,预定大小可以是对存储介质120中的第一至第四非易失性存储器装置M1至M4的读取请求所需的大小。根据实施例,内核CORE可预先设置缓冲器BUF的预定大小以针对多个通道均匀地使用缓冲器BUF的群集。当读取请求的类型为有序时,内核CORE可将预定大小调整为允许大小,该允许大小是通过非易失性存储器装置M1至M4中的一个的单个读取操作能够被传输到缓冲器BUF的最大数据大小的两倍。
然而,当读取请求的类型为无序时,内核CORE可不调整缓冲器BUF的大小。如果缓冲器BUF的大小已被设置成预定大小,则内核CORE可保持该大小。
进一步地,当读取请求的类型为有序时,在设置缓冲器BUF的允许大小之后,内核CORE可请求缓冲器管理器BM根据有序读取请求的顺序为在读取请求之中所选择的读取请求分配群集。在为所选择的读取请求分配群集之后,内核CORE可指示访问单元ACU处理所选择的读取请求。
缓冲器BUF可包括多个群集。群集可临时存储待在主机装置和存储介质120之间传输的数据。群集中的每一个可存储预定大小的数据。例如,群集中的每一个可存储4k字节的数据,但实施例不限于此。
缓冲器管理器BM可管理缓冲器BUF的群集的分配和释放。详细地,缓冲器管理器BM可根据内核CORE的请求将缓冲器BUF的群集分配给读取请求。如果根据读取请求,从存储介质120读取的数据被传输到群集并且从群集传输到主机装置,则缓冲器管理器BM可释放分配给读取请求的群集。
缓冲器管理器BM可根据内核CORE的控制来设置缓冲器BUF的允许大小,并且在内核CORE请求分配群集时可基于所设置的允许大小来分配群集。
缓冲器BUF的允许大小可以是针对通道CH的最大大小。也就是说,缓冲器BUF的允许大小可与通道CH相关联。例如,当存储介质120包括联接到另一通道(未示出)的多个非易失性存储器装置(例如,未示出的M5至Mn)时,无论针对联接到第一至第四非易失性存储器装置M1至M4的通道CH所设置的允许大小如何,缓冲器管理器BM都可针对该另一通道为读取请求分配群集。
当缓冲器BUF针对通道CH的允许大小与当前分配的大小之间的差值大于或等于读取请求的所需大小时,缓冲器管理器BM可为读取请求分配群集。根据读取请求的需要,可为读取请求分配群集。缓冲器BUF的当前分配的大小可指当前针对通道CH分配的群集的大小。读取请求的所需大小可指响应于读取请求而执行读取操作所需的缓冲器BUF的群集的大小。以下,允许大小和当前分配的大小之间的差值可被称为当前缓冲器BUF的未使用大小(即,空闲大小)。
访问单元ACU可根据内核CORE的指令处理读取请求。读取请求的处理可以是包括以下的一系列过程:将读取请求排队到队列中,将对应于排队的读取请求的读取命令传输到存储介质120的非易失性存储器装置,并且将响应于读取命令从非易失性存储器装置传输的数据存储在为读取请求所分配的群集中。
访问单元ACU可包括第一至第四队列Q1至Q4。第一至第四队列Q1至Q4可分别对应于第一至第四非易失性存储器装置M1至M4。第一至第四队列Q1至Q4中的每一个可使待针对第一至第四非易失性存储器装置M1至M4中的对应一个被处理的读取请求排队。可根据M1至M4的状态和通道CH的状态,基本上无序地开始处理被排队到Q1至Q4中的读取请求。
根据实施例,通过设置缓冲器BUF的允许大小,可按有序读取请求的顺序处理有序读取请求。稍后将详细描述根据实施例的操作方法。
根据访问单元ACU的控制,存储介质120可存储数据,并且可读取所存储的数据并将读取的数据传输到访问单元ACU。
存储介质120中的第一至第四非易失性存储器装置M1至M4可共享与访问单元ACU联接的通道CH。通道CH可包括读取命令传输线路和数据传输线路。
第一至第四非易失性存储器装置M1至M4可通过由访问单元ACU通过单独的选择线(未示出)单独地选择来由访问单元ACU控制。M1至M4中的每一个可通过通道CH从访问单元ACU接收读取命令,并且响应于读取命令输出数据。
非易失性存储器装置可包括诸如NAND闪存或NOR闪存的闪速存储器、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁阻随机存取存储器(MRAM)、电阻式随机存取存储器(ReRAM)等。
在图1的所示实施例中,存储介质120包括联接到一个通道CH的四个非易失性存储器装置,即第一至第四非易失性存储器装置M1至M4。然而,注意的是,包括在存储介质120中的通道的数量以及联接到每一个通道的非易失性存储器装置的数量不限于该布置。
图2是说明根据实施例的处理第一至第三读取请求RQ1至RQ3的方法的示图。
在下文中,作为示例,假设可通过响应于单个读取请求的单个读取操作从一个非易失性存储器装置读取最大32k字节的数据。另外,作为示例,假设第一至第三读取请求RQ1至RQ3分别是从第一至第三非易失性存储器装置M1至M3读取32k字节的数据。
参照图2,主机装置可将第一至第三读取请求RQ1至RQ3传输到存储器系统100。
内核CORE可请求缓冲器管理器BM为第一至第三读取请求RQ1至RQ3分配群集。假设缓冲器BUF针对通道CH的允许大小被设置成例如96k字节。根据实施例,可能尚未设置缓冲器BUF的允许大小。
缓冲器BUF可包括群集C1至C3。群集C1至C3中的每一个可存储32k字节的数据。当前缓冲器BUF针对通道CH的未使用大小(换言之,空闲大小)可能是96k字节。因此,当前可没有群集分配给通道CH。也就是说,当前未使用大小可足以处理第一至第三读取请求RQ1至RQ3。因此,可通过缓冲器管理器BM分别将群集C1至C3分配给第一至第三读取请求RQ1至RQ3。在群集C1至C3被分配之后,内核CORE可指示访问单元ACU处理读取请求RQ1至RQ3。
访问单元ACU可根据内核CORE的控制将第一至第三读取请求RQ1至RQ3排队到第一至第三队列Q1至Q3中。可根据第一至第三非易失性存储器装置M1至M3的状态以及通道CH的状态,无序地开始处理被排队到第一至第三队列Q1至Q3中的第一至第三读取请求RQ1至RQ3。换言之,读取请求RQ1至RQ3被实际处理的顺序可能未与将它们排队到队列Q1至Q3中的顺序相对应。
例如,当第一非易失性存储器装置M1首先进入空闲状态并且通道CH当前未被任何非易失性存储器装置占用时,对应于第一读取请求RQ1的读取命令可被首先传输到第一非易失性存储器装置M1。然后,当第三非易失性存储器装置M3进入空闲状态并且通道CH当前未被任何非易失性存储器装置占用时,对应于第三读取请求RQ3的读取命令可被传输到第三非易失性存储器装置M3。此后,当第二非易失性存储器装置M2进入空闲状态并且通道CH当前未被任何非易失性存储器装置占用时,对应于第二读取请求RQ2的读取命令可被传输到第二非易失性存储器装置M2。
第一至第三非易失性存储器装置M1至M3可响应于读取命令以部分并行的方式执行读取操作。然而,因为第一至第三非易失性存储器装置M1至M3共享通道CH,所以它们可以它们接收读取命令的顺序输出数据。即,第一非易失性存储器装置M1、第三非易失性存储器装置M3和第二非易失性存储器装置M2可顺序地输出数据。
如果第一至第三读取请求RQ1至RQ3为无序读取请求,则从第一至第三非易失性存储器装置M1至M3读取的数据可以读取数据被传输到缓冲器BUF的群集C1至C3的顺序被传输到主机装置。
如果第一至第三读取请求RQ1至RQ3为从第一读取请求RQ1到第三读取请求RQ3排序的有序读取请求,则在按如参照图2所述的顺序处理RQ1、RQ3和RQ2的情况下,操作性能可能劣化。
详细地,例如,第一至第三读取请求RQ1至RQ3可以是应当分别由第一至第三非易失性存储器装置M1至M3处理的有序读取请求。换言之,当RQ1至RQ3为有序读取请求时,响应于第一至第三读取请求RQ1至RQ3从第一至第三非易失性存储器装置M1至M3读取的数据应当根据第一至第三读取请求RQ1至RQ3的顺序被传输到主机装置。
因此,当第一至第三读取请求RQ1至RQ3为有序读取请求时,即使如参照图2所述的第三读取请求RQ3先于第二读取请求RQ2被处理,但在响应于RQ2读取的数据被提供给主机之前,响应于RQ3读取的数据可以不被传输到主机装置,并且可以保持存储在群集C3中。进一步地,虽然当第一至第三读取请求RQ1至RQ3为有序读取请求时,第二读取请求RQ2必须先于第三读取请求RQ3被处理,但如参照图2所述的,一旦第二读取请求RQ2被输入到第二队列Q2中,根据第二非易失性存储器装置M2的状态和通道CH的状态,RQ2可能不会先于第三读取请求RQ3被处理。因此,因为响应于第二读取请求RQ2读取的数据被更迟地传输到群集C2,并且也被更迟地传输到主机装置,所以存储器系统100的读取性能可能劣化。
图3A和图3B是说明根据实施例的通过设置缓冲器BUF的允许大小来处理有序读取请求RQ1至RQ3的方法的示图。
在图3A和图3B中,假设第一至第三读取请求RQ1至RQ3是从第一读取请求RQ1到第三读取请求RQ3排序的有序读取请求。
参照图3A,主机装置可将第一至第三读取请求RQ1至RQ3传输到存储器系统100。
内核CORE可确定第一至第三读取请求RQ1至RQ3的类型为有序。因为RQ1至RQ3将针对通道CH被处理,所以内核CORE可针对通道CH设置缓冲器BUF的允许大小。
如上所述,缓冲器BUF的允许大小可被设置成例如通过非易失性存储器装置的单个读取操作能够被传输到缓冲器BUF的最大数据大小的两倍。因此,例如,当可从一个非易失性存储器装置读取最大32k字节的数据时,允许大小可被设置成64k字节。在这种情况下,如以下详细描述的,因为对两个非易失性存储器装置的读取操作可以连续重叠的方式被处理,所以第一至第三读取请求RQ1至RQ3可以其顺序被处理。
缓冲器管理器BM可根据内核CORE的控制将缓冲器BUF的大小调整为针对通道CH的允许大小(例如,64k字节)。
当前缓冲器BUF针对通道CH的未使用大小可能是64k字节。即,当前可没有群集被分配给通道CH。也就是说,当前未使用大小可足以处理第一读取请求RQ1和第二读取请求RQ2。因此,可通过缓冲器管理器BM分别将群集C1和C2分配给第一读取请求RQ1和第二读取请求RQ2。在群集C1和C2被分配之后,内核CORE可指示访问单元ACU处理第一读取请求RQ1和第二读取请求RQ2。
此时,即使内核CORE请求缓冲器管理器BM为第三读取请求RQ3分配群集,但由于针对通道CH的允许大小,也不会为第三读取请求RQ3分配群集。换言之,因为已针对允许大小为读取请求RQ1和RQ2分配了群集C1和C2,所以当前未使用大小为0字节,因此不会为第三读取请求RQ3分配群集。因此,内核CORE不会将第三读取请求RQ3传输到访问单元ACU。也就是说,该方案可保留对第三读取请求RQ3的处理。
访问单元ACU可根据内核CORE的控制将第一读取请求RQ1和第二读取请求RQ2排队到第一队列Q1和第二队列Q2中。被排队到第一队列Q1和第二队列Q2中的RQ1和RQ2可根据第一非易失性存储器装置M1和第二非易失性存储器装置M2的状态以及通道CH的状态开始被处理。
例如,第一读取请求RQ1和第二读取请求RQ2可由第一非易失性存储器装置M1和第二非易失性存储器装置M2顺序地进行处理。即,当第一非易失性存储器装置M1进入空闲状态并且通道CH当前未被任何非易失性存储器装置占用时,对应于第一读取请求RQ1的读取命令可被首先传输到第一非易失性存储器装置M1。因此,可首先处理第一读取请求RQ1。也就是说,响应于第一读取请求RQ1从第一非易失性存储器装置M1读取的数据根据顺序可被传输到群集C1,并且然后可被传输到主机装置。
第一非易失性存储器装置M1和第二非易失性存储器装置M2可响应于读取命令以部分并行的方式执行读取操作。然而,因为第一非易失性存储器装置M1和第二非易失性存储器装置M2共享通道CH,所以首先接收到读取命令的第一非易失性存储器装置M1可首先输出数据,并且相应地,可首先处理第一读取请求RQ1。
接下来,参照图3B,当完成对第一读取请求RQ1的处理时,可从第一队列Q1中去除第一读取请求RQ1。而且,如果响应于第一读取请求RQ1而读取的数据被完全传输到主机装置,则缓冲器管理器BM可释放群集C1。
然后,内核CORE可请求缓冲器管理器BM为第三读取请求RQ3分配群集。请求分配群集的第三读取请求RQ3可根据顺序被选择。如果继第三读取请求RQ3之后另外存在有序读取请求,则可根据顺序优先选择第三读取请求RQ3。
当群集C1被释放时,因为缓冲器BUF的当前未使用大小足以处理第三读取请求RQ3,所以可通过缓冲器管理器BM将群集C1分配给第三读取请求RQ3。在群集C1被分配给第三读取请求RQ3之后,内核CORE可指示访问单元ACU处理第三读取请求RQ3。
访问单元ACU可根据内核CORE的控制将第三读取请求RQ3排队到第三队列Q3中。被排队到第三队列Q3中的第三读取请求RQ3可根据第三非易失性存储器装置M3的状态和通道CH的状态被处理。
同时,第二读取请求RQ2可能正在处理中。也就是说,响应于第二读取请求RQ2从第二非易失性存储器装置M2读取的数据根据顺序可被传输到群集C2,并且然后可被传输到主机装置。
在第二读取请求RQ2被处理时,当第三非易失性存储器装置M3处于空闲状态并且通道CH当前未被任何非易失性存储器装置占用时,对应于第三读取请求RQ3的读取命令可被传输到第三非易失性存储器装置M3,并且第三读取请求RQ3可被处理。也就是说,响应于第三读取请求RQ3从第三非易失性存储器装置M3读取的数据根据顺序可被传输到群集C1,然后可被传输到主机装置。
对这些操作进行概述,在本实施例中,通过响应于有序读取请求将缓冲器BUF的大小减小到允许大小,可在保持其顺序的同时处理有序读取请求。因此,可提高存储器系统100的读取速度。
图4是描述根据实施例的存储器系统100的操作方法的流程图。图4示出了在内核CORE从主机装置接收到多个读取请求的情况下的操作方法。
参照图4,在步骤S110中,内核CORE可确定从主机装置传输的读取请求的类型。
在步骤S120中,当确定读取请求为有序读取请求(即,在步骤S120中为“是”)时,进程可进行至步骤S130。相反地,当确定读取请求为无序读取请求(即,在步骤S120中为“否”)时,进程可进行至步骤S140。
在步骤S130中,内核CORE可设置缓冲器BUF的允许大小。例如,内核CORE可将缓冲器BUF的大小设置成允许大小,该允许大小可以是通过非易失性存储器装置的单个读取操作能够被传输到缓冲器BUF的最大数据大小的两倍。所设置的缓冲器BUF的允许大小与处理有序读取请求所通过的通道CH相关联。
在步骤S140中,内核CORE可请求缓冲器管理器BM分配群集,用于处理在读取请求之中根据读取请求的顺序选择的读取请求。
在步骤S150中,缓冲器管理器BM可在缓冲器BUF的允许大小内分配群集。详细地,当缓冲器BUF的允许大小与当前分配的大小之间的差值大于或等于读取请求的所需大小时,缓冲器管理器BM可为读取请求分配所需大小的群集。
当尚未设置缓冲器BUF的允许大小时,缓冲器管理器BM可立即分配群集。
在步骤S160中,内核CORE可指示访问单元ACU处理所选择的读取请求。响应于该指令,访问单元ACU可通过对应的非易失性存储器装置来处理所选择的读取请求。不管读取请求的顺序如何,访问单元ACU可根据第一至第四非易失性存储器装置M1至M4和通道CH的状态来控制第一至第四非易失性存储器装置M1至M4单独地处理读取请求。然而,当如上所述由于有序读取请求而设置缓冲器BUF的允许大小时,访问单元ACU最终可根据有序读取请求的顺序来处理有序读取请求。
当完成对所选择的读取请求的处理并且响应于所选择的读取请求而读取的数据被完全传输到主机装置时,缓冲器管理器BM可释放为所选择的读取请求分配的群集。
在步骤S170中,内核CORE可确定是否还存在待分配群集的读取请求。当还存在读取请求时,进程可进行至步骤S140。当不再存在读取请求时,该进程可结束。
图5是示出包括根据实施例的固态驱动器(SSD)1200的数据处理系统1000的示图。参照图5,数据处理系统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和SSD1200进行接口连接。例如,主机接口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可进行供电以使SSD 1200正常地结束。辅助电源1241可包括大容量电容器。
信号连接器1250可根据主机装置1100和SSD 1200之间的接口连接方案而通过各种类型的连接器配置。
电源连接器1260可根据主机装置1100的供电方案而通过各种类型的连接器配置。
图6是示出包括根据实施例的存储器系统2200的数据处理系统2000的示图。参照图6,数据处理系统2000可包括主机装置2100和存储器系统2200。
主机装置2100可以诸如印制电路板的板形式来配置。虽然未示出,但主机装置2100可包括用于执行主机装置的功能的内部功能块。
主机装置2100可包括诸如插座、插槽或连接器的连接端子2110。存储器系统2200可被安装到连接端子2110。
存储器系统2200可以诸如印制电路板的板形式来配置。存储器系统2200可被称为存储器模块或存储卡。存储器系统2200可包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(PMIC)2240和连接端子2250。
控制器2210可控制存储器系统2200的一般操作。控制器2210可以与图5所示的控制器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之间传输。连接端子2250可根据主机装置2100与存储器系统2200之间的接口连接方案而被配置成各种类型。连接端子2250可被设置在存储器系统2200的任何一侧。
图7是示出包括根据实施例的存储器系统3200的数据处理系统3000的示图。参照图7,数据处理系统3000可包括主机装置3100和存储器系统3200。
主机装置3100可以诸如印制电路板的板形式来配置。尽管未示出,但主机装置3100可包括用于执行主机装置的功能的内部功能块。
存储器系统3200可以表面安装型封装的形式来配置。存储器系统3200可通过焊球3250安装到主机装置3100。存储器系统3200可包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。
控制器3210可控制存储器系统3200的一般操作。控制器3210可以与图5所示的控制器1210相同的方式来配置。
缓冲存储器装置3220可临时存储待被存储在非易失性存储器装置3230中的数据。进一步地,缓冲存储器装置3220可临时存储从非易失性存储器装置3230读取的数据。被临时存储在缓冲存储器装置3220中的数据可根据控制器3210的控制被传输到主机装置3100或非易失性存储器装置3230。
非易失性存储器装置3230可用作存储器系统3200的存储介质。
图8是示出包括根据实施例的存储器系统4200的网络系统4000的框图。参照图8,网络系统4000可包括通过网络4500联接的服务器系统4300和多个客户端系统4410、4420和4430。
服务器系统4300可响应于来自多个客户端系统4410至4430的请求来服务数据。例如,服务器系统4300可存储从多个客户端系统4410至4430提供的数据。又例如,服务器系统4300可将数据提供给多个客户端系统4410至4430。
服务器系统4300可包括主机装置4100和存储器系统4200。存储器系统4200可被配置成图1所示的存储器系统100、图5所示的存储器系统1200、图6所示的存储器系统2200或图7所示的存储器系统3200。
图9是示出包括在根据实施例的存储器系统中的非易失性存储器装置300的框图。参照图9,非易失性存储器装置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 (19)
1.一种存储器系统,其包括:
多个非易失性存储器装置,其共享通信线;以及
控制器,其包括缓冲器和内核,所述控制器适于通过所述通信线控制所述多个非易失性存储器装置,
其中所述内核确定针对所述多个非易失性存储器装置的多个读取请求的类型,并且基于所确定的类型来设置所述缓冲器的允许大小。
2.根据权利要求1所述的存储器系统,其中所述内核在所述类型被确定为有序时设置所述允许大小。
3.根据权利要求1所述的存储器系统,其中所述内核将所述允许大小设置成通过所述多个非易失性存储器装置中的一个的单个读取操作能够被传输到所述缓冲器的最大数据大小的两倍。
4.根据权利要求1所述的存储器系统,
其中所述控制器进一步包括缓冲器管理器和访问单元,
其中所述内核请求所述缓冲器管理器分配群集以用于处理根据所述多个读取请求的顺序而选择的读取请求,并且在所述群集被分配之后指示所述访问单元处理所选择的读取请求,并且
其中所述缓冲器管理器基于所述允许大小来分配所述群集。
5.根据权利要求4所述的存储器系统,其中当所述允许大小和当前分配的大小之间的差值大于或等于所述读取请求的所需大小时,所述缓冲器管理器分配所述所需大小的群集。
6.根据权利要求4所述的存储器系统,其中所述访问单元包括分别对应于所述非易失性存储器装置的多个队列,并且将所选择的读取请求排队到与所述多个非易失性存储器装置之中的、所选择的读取请求待被传输到的非易失性存储器装置相对应的队列中。
7.根据权利要求4所述的存储器系统,其中所述访问单元针对所述多个非易失性存储器装置无序地处理所述多个读取请求之中的、被排队到多个队列中的读取请求。
8.根据权利要求4所述的存储器系统,其中当完成对所选择的读取请求的处理时,所述缓冲器管理器释放所述群集。
9.一种存储器系统的操作方法,其包括:
使用控制器确定针对多个非易失性存储器装置的多个读取请求的类型;以及
使用所述控制器基于所确定的类型来设置所述控制器的缓冲器的允许大小。
10.根据权利要求9所述的方法,其中设置所述允许大小包括:
当所述类型被确定为有序时设置所述允许大小。
11.根据权利要求9所述的方法,其中设置所述允许大小包括:
将所述允许大小设置成通过所述多个非易失性存储器装置中的一个的单个读取操作能够被传输到所述缓冲器的最大数据大小的两倍。
12.根据权利要求9所述的方法,其进一步包括:
使用所述控制器请求所述控制器的缓冲器管理器分配群集,以用于处理根据所述多个读取请求的顺序所选择的读取请求;
使用所述缓冲器管理器基于所述允许大小来分配所述群集;以及
在所述群集被分配之后,指示所述控制器的访问单元处理所选择的读取请求。
13.根据权利要求12所述的方法,其中分配所述群集包括:
当所述允许大小和当前分配的大小之间的差值大于或等于所述读取请求的所需大小时,分配所述所需大小的群集。
14.根据权利要求12所述的方法,其进一步包括:
使用所述访问单元将所选择的读取请求排队到多个队列之中对应的队列中;以及
使用所述访问单元将对应于所述读取请求的命令传输到对应于所述队列的非易失性存储器装置。
15.根据权利要求12所述的方法,其进一步包括:
在完成对所述读取请求的处理时,使用所述缓冲器管理器释放所述群集。
16.根据权利要求9所述的方法,其中所述多个非易失性存储器装置共享通信线。
17.一种存储器系统的操作方法,其包括:
使用包括缓冲器的控制器调整所述缓冲器的允许大小;
使用所述控制器请求为多个读取请求中的每一个分配群集;
使用所述控制器基于根据所述允许大小计算的所述缓冲器的未使用大小来分配所述群集;以及
使用所述控制器来处理所述多个读取请求之中的、分配了所述群集的所选择的读取请求。
18.根据权利要求17所述的方法,其中调整所述允许大小包括:
当所述多个读取请求为有序读取请求时调整所述允许大小。
19.根据权利要求18所述的方法,其中调整所述允许大小包括:
将所述允许大小设置成通过非易失性存储器装置的单个读取操作能够被传输到所述缓冲器的最大数据大小的两倍。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0127241 | 2017-09-29 | ||
KR1020170127241A KR20190037668A (ko) | 2017-09-29 | 2017-09-29 | 메모리 시스템 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109582218A true CN109582218A (zh) | 2019-04-05 |
CN109582218B CN109582218B (zh) | 2022-03-22 |
Family
ID=65896214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810676715.7A Active CN109582218B (zh) | 2017-09-29 | 2018-06-27 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10867644B2 (zh) |
KR (1) | KR20190037668A (zh) |
CN (1) | CN109582218B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562559A (zh) * | 2008-04-15 | 2009-10-21 | 大唐移动通信设备有限公司 | 一种串行Rapid IO链路数据传输的方法及装置 |
US20110191525A1 (en) * | 2010-02-04 | 2011-08-04 | Phison Electronics Corp. | Flash memory storage device, controller thereof, and data programming method thereof |
CN103493002A (zh) * | 2011-04-05 | 2014-01-01 | 株式会社东芝 | 存储器系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9274964B2 (en) * | 2012-02-02 | 2016-03-01 | Qualcomm Incorporated | Multi-bank cache memory |
KR102130578B1 (ko) | 2014-12-02 | 2020-07-06 | 에스케이하이닉스 주식회사 | 반도체 장치 |
US10262712B2 (en) * | 2015-03-09 | 2019-04-16 | Toshiba Memory Corporation | Memory device with a control circuit to control data reads |
-
2017
- 2017-09-29 KR KR1020170127241A patent/KR20190037668A/ko unknown
-
2018
- 2018-05-11 US US15/977,827 patent/US10867644B2/en active Active
- 2018-06-27 CN CN201810676715.7A patent/CN109582218B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562559A (zh) * | 2008-04-15 | 2009-10-21 | 大唐移动通信设备有限公司 | 一种串行Rapid IO链路数据传输的方法及装置 |
US20110191525A1 (en) * | 2010-02-04 | 2011-08-04 | Phison Electronics Corp. | Flash memory storage device, controller thereof, and data programming method thereof |
CN103493002A (zh) * | 2011-04-05 | 2014-01-01 | 株式会社东芝 | 存储器系统 |
Also Published As
Publication number | Publication date |
---|---|
US20190103144A1 (en) | 2019-04-04 |
US10867644B2 (en) | 2020-12-15 |
KR20190037668A (ko) | 2019-04-08 |
CN109582218B (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11775220B2 (en) | Storage device, host device controlling storage device, and operation method of storage device | |
US9251899B2 (en) | Methods for upgrading main memory in computer systems to two-dimensional memory modules and master memory controllers | |
US8856464B2 (en) | Systems for two-dimensional main memory including memory modules with read-writeable non-volatile memory devices | |
US10838653B2 (en) | Electronic device and operating method thereof | |
CN109656833B (zh) | 数据储存装置 | |
KR20170051563A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11797221B2 (en) | Method of operating storage device for improving QoS latency and storage device performing the same | |
CN110489056A (zh) | 控制器以及包括该控制器的存储器系统 | |
KR20190019712A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11157212B2 (en) | Virtual controller memory buffer | |
KR102381233B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN110286847A (zh) | 数据存储装置及其操作方法 | |
KR20220153055A (ko) | 메모리 서브시스템의 워크로드 레벨에 기초한 전력 모드 설정 | |
CN109960466A (zh) | 存储器系统及其操作方法 | |
US20200004676A1 (en) | Staggered garbage collection unit (gcu) allocation across dies | |
KR20210060867A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11748027B2 (en) | Storage system and method for avoiding clustering of reads during a program suspend | |
CN109582218A (zh) | 存储器系统及其操作方法 | |
US11635896B2 (en) | Method and data storage apparatus for replacement of invalid data blocks due to data migration | |
CN108257629A (zh) | 非易失性存储器装置和包括其的数据存储装置的操作方法 | |
CN110568991B (zh) | 降低锁引起的io命令冲突的方法与存储设备 | |
US11599298B1 (en) | Storage system and method for prediction-based pre-erase of blocks to improve sequential performance | |
US10387076B2 (en) | Methods for scheduling data-programming tasks and apparatuses using the same | |
CN109933281A (zh) | 存储器系统及其操作方法 | |
KR20190085359A (ko) | 데이터 저장 장치 및 그것의 동작 방법 |
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 |