CN110503999A - 用于管理存储器访问操作的方法和系统 - Google Patents
用于管理存储器访问操作的方法和系统 Download PDFInfo
- Publication number
- CN110503999A CN110503999A CN201910412897.1A CN201910412897A CN110503999A CN 110503999 A CN110503999 A CN 110503999A CN 201910412897 A CN201910412897 A CN 201910412897A CN 110503999 A CN110503999 A CN 110503999A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory access
- access operation
- priority
- executing
- 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/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
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- 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
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
-
- 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/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
- G06F9/4837—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
-
- 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
-
- 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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- 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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- 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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
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)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
本申请涉及用于管理存储器访问操作的方法和系统。存储器控制器通过连接到主机的固态存储设备的存储器阵列的闪存存储器接口来管理存储器访问操作。存储器控制器在存储器阵列中执行第一存储器访问操作。第一存储器访问操作具有第一优先级。存储器控制器检测可用于在存储器阵列中执行并具有比第一优先级高的优先级的暂停存储器访问操作。检测操作区分暂停存储器访问操作与非暂停存储器访问操作。存储器控制器暂停在存储器阵列中执行第一存储器访问操作,并且执行具有比第一优先级高的优先级并可用于在存储器阵列中执行的一个或多个存储器访问操作。存储器控制器恢复在存储器阵列中执行第一存储器访问操作。
Description
背景技术
3D闪存存储器涉及比2D闪存存储器技术长的编程时间。更长的编程时间可能通过执行其中在单个操作中对多个存储页面编程的一次编程而增加,这可能在忙碌管芯上导致显著的瓶颈。在混合读取/写入工作负载中,更长的编程时间可能为其他更高优先级的操作形成瓶颈。例如,读取操作在被管芯上的长编程操作阻止时可能经历长延迟。
技术领域
本申请涉及用于存储器访问操作的方法和系统。
发明内容
本文公开的实施方式提供了用于通过连接到主机的固态存储设备的存储器阵列的闪存存储器接口来管理存储器访问操作的系统和方法。存储器控制器在存储器阵列中执行第一存储器访问操作。第一存储器访问操作具有第一优先级。存储器控制器检测可用于在存储器阵列中执行并具有比第一优先级高的优先级的至少一个暂停存储器访问操作。检测操作区分暂停存储器访问操作与非暂停存储器访问操作。存储器控制器暂停在存储器阵列中执行第一存储器访问操作,并且执行具有比第一优先级高的优先级并可用于在存储器阵列中执行的一个或多个存储器访问操作,直到没有具有比第一优先级高的优先级的其他存储器访问操作可用于在存储器阵列中执行。响应于执行操作的完成,存储器控制器恢复在存储器阵列中执行第一存储器访问操作。
提供了本发明内容以便以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。通过阅读以下具体实施方式,这些和各种其他特征以及优点将变得显而易见。
在本文中还描述和叙述了其他实施方式。
附图说明
图1示出了用于为存储器阵列提供调度的存储器访问操作暂停/恢复控制的示例性存储器控制器。
图2示出了包括适合于以至少三维存储数据的存储器阵列的存储器设备的示例。
图3示出了用于调度和实现存储器访问操作的暂停和恢复的示例性操作。
图4示出了用于管理存储器访问操作暂停和恢复的示例性操作。
图5示出了可用于实现本文描述的技术的示例性处理系统。
具体实施方式
图1示出了用于为存储器阵列100(也被称为数据阵列)提供调度的存储器访问操作暂停/恢复控制的示例性存储器控制器126。存储器阵列100包括能够经由不同的增量步进脉冲编程(ISPP)电压编程的存储器单元(例如,存储器单元102)。存储器阵列的存储器单元包括串联连接的多个浮栅晶体管存储器单元(通常被称为NAND串)。这种类型的存储器阵列100被称为NAND闪存存储器。应当理解,NAND闪存仅是适合于与所公开技术一起使用的一种示例类型的存储器。
每个NAND串耦接到位线(例如,位线106,可经由输出总线(例如,总线108)从该位线读取符号)。相邻NAND串的单元经由字线(例如,字线110)耦接,这些字线选择哪一行存储器单元受读取操作和编程操作的影响。在读取操作和编程操作期间,选择栅极112、114也可选择地将NAND串耦接到相应的位线和接地。一般来讲,每个字线可以与一个或多个页面(例如,一个或多个页面118)相关联,该一个或多个页面是能够物理寻址的最小数据单元。以位为单位的页面大小(其可包括用户数据和纠错码,或ECC)对应于字线中的NAND串的数量。MLC存储器阵列通过将对应位(例如,来自每个页面的所有位0)编码成每个单元内的唯一充电电平来在字线上存储多个页面。
闪存存储器通过将浮栅充电到特定电压来保持状态。当施加指定的读取电压时,这导致预定量的电流流过沟道。存储器单元102的扩展视图101示出了闪存存储器单元晶体管。闪存存储器单元晶体管包括位于衬底136的表面处的源极区134和漏极区132。栅极结构在源极区134与漏极区132之间限定的沟道区上方对准。栅极结构包括浮栅130和控制栅140。尽管未示出,但隧穿电介质层插置在浮栅130与衬底的表面之间,并且另一个薄氧化物层或控制电介质插置在浮栅130与控制栅140之间。在所示的示例中,漏极电压Vd从位线BL供应,并且控制栅电压Vcg从字线WL供应,并且源极电压Vs连接到参考电位(诸如接地)。
为了将存储器单元晶体管从初始状态改变(编程)到编程状态,利用称为福勒-诺德海姆(FN)隧穿的过程。简而言之,在控制栅140与衬底136之间形成相对大的正电位差,并且在衬底136的表面上的沟道内的激发电子被推过并被捕获在浮栅130中。这些带负电的电子充当控制栅140与衬底136上的沟道之间的势垒,从而增加存储器单元晶体管的阈值电压。存储器单元晶体管可以通过以下方式来返回到该存储器单元晶体管的初始状态:在控制栅140与衬底之间形成大的负电位差,这将电子吸回到浮栅130与衬底136之间的薄氧化层上,从而移除电子势垒并减少存储器单元102的阈值电压。
在单级单元(SLC)存储设备中,每个存储器单元晶体管存储对应于两种可能存储器状态(“0”或“1”)中的一种存储器状态的电压。例如,存储器状态“0”可以对应于第一电压范围,并且存储器状态“1”可以对应于第二电压范围。
在多级单元(MLC)存储设备中,每个存储器单元晶体管存储两位或更多位数据,并且存储器单元晶体管可以采用各自表示1和0的可能组合中的不同组合的一系列可能电压的任一个可能电压。例如,如果每个存储器单元晶体管存储两位数据,则存储器单元晶体管可以具有落在分别对应于状态00、01、10和11的四个不同电压范围中的一个电压范围内的电压。此外,三级单元(TLC)存储设备中的存储器单元晶体管每单元存储三位,并且四级单元(QLC)存储设备中的存储器单元晶体管每单元存储四位。
增量步进脉冲编程(ISPP)是一种用于在MLC晶体管和SLC晶体管中编程存储器状态的方法。程序存储器访问操作充当对存储器的写入。在ISPP中,使用量值增加的短连续编程脉冲来将编程电压施加到选择的存储器单元的控制栅。例如,如果为编程操作选择页面,则将偏置电压施加到与页面的存储器单元连接的字线。ISPP编程方法对选择的页面进行多次编程,同时以步长电压基础逐步地增加字线偏置电压。
在具有增加的“步长”电压的每个脉冲之间,执行编程验证操作以检查选择的存储器单元的阈值电压是否已上升到高于编程验证电压电平。ISPP过程继续,直到选择的存储器单元(例如,页面104的单元)的每个选择的存储器单元的阈值电压上升到高于编程验证电平。
通过要求选择的存储器单元的阈值电压超过编程验证电压电平,ISPP过程有效地控制对于选择的存储器单元的每个可能编程状态的阈值电压分布的下界。通过以短脉冲将编程电压施加到控制栅,ISPP过程防止选择的存储器单元的阈值电压显著地增加超过编程验证电压电平,由此保持对于存储器单元的每个编程状态的阈值电压分布的合理上界。
编程操作可能非常冗长,特别是与读取操作相比。因此,所描述的技术中的存储器控制器126调度编程操作(或其他较低优先级的存储器访问操作)的暂停和恢复,以有利于各种类型的读取操作(或其他较高优先级的存储器访问操作)。以此方式,较高优先级的操作不太可能被长的较低优先级的操作阻止。
在3D NAND中,经常采用一次编程算法,其中字线中的所有页面基本上一起被编程。因此,与读取时间相比,3D NAND中的编程时间可能长,并且特别是比平面NAND或2DNAND中的编程时间长。在平面NAND中,通常采用其中页面彼此独立地编程的多步编程算法。在3D NAND中,编程时间随着每个单元存储的位数而增加,因为每个字线有更多的页面。因此,TLC和QLC NAND的编程时间通常高于MLC 2位/单元NAND的编程时间。为了实现服务特性的良好性能和质量,暂停编程操作允许如下所述的抢先读取操作。
图2示出了包括主机230和固态存储设备202的示例性系统200。固态存储设备202包括适合于以至少三维存储数据的一个或多个存储器阵列(例如,存储器阵列204,也被称为数据阵列)。这种类型的存储块包括3D NAND块,该3D NAND块包括经由字线(例如,字线210)耦接的相邻NAND串的单元,并且还包括能够将NAND串选择地耦接到相应的位线(例如,位线211)的选择栅极。通过激活对应位线和对应沟道选择线来选择被称为沟道串(212)的第三维存储器单元。在3D NAND闪存中,字线方向的集合有时也被称为字线平面。下面描述的加扰方法在位线(BL)方向、字线(WL)方向和沟道选择线(CSL)方向中的每一者上产生三维数据随机化。
主机230可以向存储器控制器206发出用于存储器访问操作的指令(诸如读取操作、写入操作和擦除操作)以将数据读取/写入到存储器阵列204。此外,存储器控制器206还可以在没有来自主机230的明确指令的情况下执行存储器访问操作。例如,存储器控制器206可以发出重试读取操作、再循环读取操作、重新映射读取操作和重新映射编程操作。
无论是通过主机还是通过存储器控制器配置,每种类型的操作(并且在一些实施方式中,各个存储器访问操作本身)都可以用优先级来指定。例如,存储器控制器配置可以将某些读取操作指定为具有比某些编程操作高的优先级。以此方式,存储器控制器206可以调度较低优先级的编程操作的暂停和恢复以有利于一个或多个读取操作。在至少一个实施方式中,在任何存储器访问间隔中到达存储器阵列并标记为高优先级(例如,通过固件)的任何主机读取命令在当前存储器访问间隔完成后将触发对该存储器阵列的暂停命令(如果该存储器阵列忙于另一个较低优先级的存储器访问操作的话)。
在一个实施方式中,存储器控制器206以电路实现(例如,作为ASIC),包括前端接口电路220、虚拟化电路222和介质引擎电路224。前端接口电路220与主机230通信主机存储器访问操作指令和数据。虚拟化电路222在固态存储设备的许多存储器阵列中的虚拟存储器地址与物理存储器地址之间进行转换。介质引擎电路224包括用于每个沟道的闪存介质引擎(FME)电路和单独闪存转换接口(FTI)电路,该单独FTI电路向固态存储设备中的各个存储器阵列提供对各种存储器访问操作的控制和数据通信。示例性存储器访问操作可以包括但不限于读取操作、编程操作和擦除操作。
在各种实施方式中,介质引擎电路224根据本文描述的过程来调度暂停动作和恢复动作。介质引擎电路224访问存储在设备配置存储器226中的设备配置参数(例如,存储在此类存储器226中的设备配置文件)以调整在过程中使用的定时和计数。在一些实施方式中,控制暂停功能/恢复功能的固件可以访问此类设备配置参数以允许改变暂停功能/恢复功能的操作,而无需重建和重新安装固件。示例性参数可以包括但不限于在预先指定的时间内或对于预先指定的数量的存储器访问操作允许的最大的暂停数量、定时暂停扩展窗口的大小、存储器访问操作间隔的大小、和不同存储器访问操作的相对优先级或存储器访问操作的类型。
应当理解,在一些实施方式中,可以嵌套暂停和恢复。例如,暂停第一存储器访问操作以允许执行第二(更高优先级)存储器访问操作。随后,在第一存储器访问操作暂停的同时,暂停第二(更高优先级)存储器访问操作以允许执行第三(甚至更高优先级)存储器访问操作。嵌套暂停级别的数量不必限于任何特定数量,并且每个暂停的级别可以允许在恢复暂停的操作之前完成多个更高优先级的存储器访问操作。与暂停相比,以相反的顺序执行恢复暂停的操作。还可以采用对暂停/恢复级别数量、暂停时间量、暂停数量等的其他限制。在一个示例中,第一存储器访问操作是擦除操作,第二存储器访问操作是编程操作(该编程操作的优先级高于擦除操作的优先级),并且第三存储器访问操作是读取操作(该读取操作的优先级高于擦除操作和读取操作的优先级)。
图3示出了用于调度和实现存储器访问操作的暂停和恢复的示例性操作300。启动操作302启动对当前存储器阵列中的LUN(i)(逻辑单元号)的存储器访问操作。存储器访问操作具有优先级并被分成间隔序列,该间隔序列被设置为允许在每个间隔完成时安全地暂停存储器访问操作。在一些实施方式中,间隔的大小相等,但其他实施方式可以采用不同大小的间隔。而且,在一些实施方式中,基于设置间隔的开始和结束的定时器来定时间隔。延迟操作304等待直到在启动操作302之后,当前正在执行的存储器访问操作间隔完成。延迟操作304确保存储器访问操作不会在该存储器访问操作的执行中的不安全点处暂停。大小相等的间隔还提供了读取时间延迟的可预测性,这有利于服务性能的质量。
决定操作306确定至少一个较高优先级的存储器访问操作是否可用于在当前存储器阵列中执行。在一个实施方式中,决定操作306可以评估向其添加对当前存储器阵列的各种读取请求、编程请求和擦除请求的队列。在一个示例中,启动操作302可以执行具有第一优先级的编程操作,并且决定操作306可以确定一个或多个读取操作已经被接收在队列中并且具有比第一优先级高的优先级。如果没有较高优先级的存储器访问操作可用于在当前存储器阵列中执行,则处理再次循环回到延迟操作304以继续执行存储器访问操作。应当理解,各种存储器访问操作可以在一个或多个队列中重新排序,诸如以将较高优先级的存储器访问操作推到队列的前面,同时保持较低优先级的存储器访问操作在队列中的更后面。以此方式,可以在具有较低优先级的存储器访问操作之前使较高优先级的存储器访问操作可用。
如果一个或多个较高优先级的存储器访问操作可用于在当前存储器阵列中执行,则另一个决定操作308确定在该存储器阵列中是否已经发出了太多的暂停,诸如在相同存储器阵列中的一时间段内存在对相同存储器访问操作的太多暂停等。如果是,则处理再次循环回到延迟操作304以继续执行存储器访问操作。否则,暂停操作310暂停当前正在执行的对LUN(i)的存储器访问操作,并且执行操作312执行一个或多个较高优先级的可用存储器访问操作。决定操作314确定一个或多个较高优先级的存储器访问操作是否可用于在存储器阵列中执行。如果是,则处理循环回到执行操作312。
当没有较高优先级的存储器访问操作可用于在存储器阵列中执行时,另一个延迟操作316等待定时暂停扩展窗口到期。另一个决定操作318确定一个或多个较高优先级的存储器访问操作是否可用于在存储器阵列中执行。此类操作被认为是“新可用的”,因为这些操作在定时暂停扩展窗口期间变得可用。如果一个或多个新可用的存储器访问操作可用于在当前存储器阵列中执行,则执行操作320执行这些新可用的存储器访问操作,并且处理返回到延迟操作316。否则,恢复操作322在较低优先级的存储器操作的间隔序列中的下一个间隔恢复执行较低优先级的存储器操作。
操作优先级的应用可以基于设计目标而变化。例如,在一些实施方式中,任何读取操作将具有比编程操作或擦除操作高的优先级。在其他实施方式中,读取重试操作不阻止暂停的存储器访问操作的恢复,而是另外地,这些读取重试操作类似于任何其他读取操作被处理。预期许多其他变化。存储器访问操作的相对优先级可以取决于设备配置参数以及来自主机和存储设备的指令而变化。
以下提供了可以如何处理具有不同优先级的存储器访问操作的一些具体示例,尽管可以采用其他变型:
·暂停存储器访问操作,该暂停存储器访问操作将暂停编程操作(如果存在于队列中)
ο主机读取操作
ο映射读取操作(如果未缓存映射条目),其中“映射”是指存储逻辑地址与物理地址之间的映射的元数据
ο检查点读取操作(例如,元数据的读取操作),该检查点读取操作允许从电力事件或电力故障中恢复驱动器
·非暂停存储器访问操作,如果该非暂停存储器访问操作在暂停期间到达或处于队列中(但不会触发暂停),则该非暂停存储器访问操作在暂停期间执行
ο循环读取操作
ο所有错误恢复和闪存策略读取操作(诸如后台清理期间的读取操作和代码速率测试操作)
ο背景读取操作,该背景读取操作用于校准和调谐SSD参数(诸如读取参考电压、纠错码和码率设置)以处理第一读取效果等。
·恢复-触发(低优先级)读取操作,该恢复-触发读取操作不被允许触发暂停或在暂停期间执行并且将导致编程操作恢复(如果暂停)
ο根文件系统读取操作
图4示出了用于管理存储器访问操作暂停和恢复的示例性操作400。执行操作402在存储器阵列中执行第一存储器访问操作。第一存储器访问操作具有第一优先级。检测操作404检测可用于在存储器阵列中执行并具有比第一优先级高的优先级的至少一个暂停存储器访问操作。检测操作404还区分暂停存储器访问操作与非暂停存储器访问操作(并且在一些实施方式中,恢复-触发存储器访问操作)。如果确定至少一个较高优先级的暂停存储器访问操作可用于在存储器阵列中执行,则暂停操作406暂停执行当前正在执行的存储器访问操作。如果一个或多个非暂停存储器访问操作被检测为可用并具有比第一优先级高的优先级,但没有暂停存储器访问操作被检测为可用并具有比第一优先级高的优先级,则暂停操作406不执行。在一个实施方式中,暂停操作406等待直到当前执行的存储器访问操作的间隔在启动暂停之前完成。
执行操作408执行可用的较高优先级的存储器访问操作,包括在暂停操作406完成之后变得可用的新的较高优先级的存储器访问操作。当没有附加的较高优先级的存储器访问操作可用于在存储器阵列中执行时,执行操作408完成。在定时暂停扩展窗口到期之后,另一个执行操作410执行在定时暂停扩展窗口期间可用的任何新可用的较高优先级的存储器访问操作。执行操作410还可以通过多个定时暂停扩展窗口重复,直到在定时暂停扩展窗口结束时没有较高优先级的存储器访问操作可用。恢复操作412恢复执行较低优先级的存储器访问操作。在一些实施方式中,可以省略执行操作410。
在一些实施方式中,一个或多个恢复触发条件可以被设置为在完成执行操作408或执行操作410之前恢复暂停的存储器访问操作。例如,恢复触发条件可以被设置为定时器的到期,使得执行操作408在存储器控制器检测到定时器到期时完成,而不是在存储器控制器检测到没有附加的较高优先级的存储器访问操作可用于在存储器阵列中执行时完成。在另一个示例中,恢复触发条件可以被设置为最大的较高优先级的存储器访问操作计数,使得执行操作408在存储器控制器检测到暂停期间执行的较高优先级的存储器访问操作的数量达到或超过最大的较高优先级的存储器访问操作计数时完成,而不是在存储器控制器检测到没有附加的较高优先级的存储器访问操作可用于在存储器阵列中执行时完成。在又一个示例中,恢复触发条件可以被设置为执行的较高优先级的存储器访问操作(例如,在一时间段内)与较低优先级的存储器访问操作(例如,在该时间段内)的期望比率,使得执行操作408在存储器控制器检测到执行的较高优先级的存储器访问操作与执行的较低优先级的存储器访问操作的比率达到或超过预定的最大的阈值时完成,而不是在存储器控制器检测到没有附加的较高优先级的存储器访问操作可用于在存储器阵列中执行时完成。
如果在完成执行操作408之前,恢复-触发存储器访问操作被检测为可用于在存储器阵列中执行,甚至如果该恢复-触发存储器访问操作的优先级低于暂停期间执行的较高优先级的存储器访问操作,则执行的存储器访问操作终止,并且在恢复操作412中恢复执行第一存储器访问操作。
此类恢复触发条件也可以应用于抢占或过早终止执行操作410并触发恢复操作412。预期其他抢先恢复条件。
图5示出了可用于实现所描述的技术的示例性处理系统500。处理系统500能够执行体现在有形计算机可读(或处理器可读)存储介质中的计算机程序产品以执行计算机过程。数据和程序文件可以输入到处理系统500,该处理系统读取文件并使用一个或多个处理器(例如,CPU、GPU、ASIC)来执行其中的程序。在图5中示出了处理系统500的元件中的一些元件,其中处理器502被示为具有输入/输出(I/O)部分504、一个或多个处理器506、和存储器508。一个或多个处理器506可以包括一个或多个处理设备或核。处理器可以是单核处理器或多核处理器。处理系统500可以是常规计算机、分布式计算机、控制器板、ASIC、或任何其他类型的处理系统。所描述的技术可选地以加载在存储器508、存储单元512中,和/或经由有线或无线网络链路514在载波信号上传送(例如,以太网、3G无线、5G无线、LTE(长期演进))的软件来实现,由此将图5中的处理系统500变换为用于实现所述操作的专用机器。处理系统500可以是被配置用于支持本文公开的盘驱动器吞吐量平衡系统的专用处理系统。
I/O部分504可以连接到一个或多个用户接口设备(例如,键盘、触摸屏显示单元518等)或存储单元512。包含用于实现根据所述技术的系统和方法的机制的计算机程序产品可以驻留在存储器508中或在此类系统500的存储单元512上。
通信接口524能够经由网络链路514将处理系统500连接到企业网络,计算机系统可以通过该网络链路接收载波中体现的指令和数据。当在局域网(LAN)环境中使用时,处理系统500通过通信接口524(通过有线连接或无线方式)连接到本地网络,该通信接口是一种类型的通信设备。当在广域网(WAN)环境中使用时,处理系统500通常包括调制解调器、网络适配器、或用于在广域网上建立通信的任何其他类型的通信设备。在联网环境中,相对于处理系统500或其部分描述的程序模块可以存储在远程存储器存储设备中。可以理解,所示的网络连接是通信设备的示例,并且可以使用在计算机之间建立通信链路的其他装置。
在示例性实施方式中,控制存储器控制器和其他模块的固件可以由存储在存储器508和/或存储单元512中并由处理器502执行的处理器可执行指令来体现。此外,存储控制器可以被配置成辅助支持RAID0实施方式。RAID存储可以使用通用计算机和专用软件(诸如执行服务软件的服务器)、专用计算系统和专用软件(诸如执行服务软件的移动设备或网络设施)或其他计算配置来实现。此外,间隔大小、优先级、读取/程序数据以及其他数据和参数可以存储在存储器508和/或存储单元512中并由处理器502执行。
处理系统500可以在设备诸如用户设备、存储设备、IoT设备、台式计算机、膝上型计算机、计算设备中实现。处理系统500可以是在用户设备中或在用户设备外部执行的存储设备。
处理系统500可以包括各种有形处理器可读存储介质和无形处理器可读通信信号。有形处理器可读存储装置可以由处理系统500可访问的任何可用介质来体现,并且包括易失性存储介质和非易失性存储介质、可移动存储介质和不可移动存储介质两者。有形处理器可读存储介质不包括无形通信信号,并且包括以用于存储信息诸如处理器可读指令、数据结构、程序模块或其他数据的任何方法或技术实现的易失性存储介质和非易失性存储介质、可移除存储介质和不可移除存储介质。有形处理器可读存储介质包括但不限于RAM、ROM、EEPROM、闪存存储器或其他存储器技术、CDROM、数字通用盘(DVD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或者可用于存储期望信息并可由处理系统500访问的任何其他有形介质。与有形处理器可读存储介质相比,无形处理器可读通信信号可以体现处理器可读指令、数据结构、程序模块或驻留在调制的数据信号中的其他数据(诸如载波或其他信号传输机制)。术语“调制的数据信号”表示以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非限制,无形通信信号包括通过有线介质(诸如有线网络或直接有线连接)以及无线介质(诸如声学、RF、红外和其他无线介质)传播的信号。
一些实施方式可以包括制品。制品可以包括用于存储逻辑的有形存储介质。存储介质的示例可以包括能够存储电子数据的一种或多种类型的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移除存储器或不可移除存储器、可擦除存储器或不可擦除存储器、可写存储器或可重写存储器等。逻辑的示例可以包括各种软件元件,诸如软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、操作段、方法、规程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、词、值、符号或其任何组合。在一个实施方式中,例如,制品可以存储可执行计算机程序指令,该可执行计算机程序指令在由计算机执行时导致计算机执行根据所描述的实施方案的方法和/或操作。可执行计算机程序指令可以包括任何合适的类型的代码,诸如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码等。可执行计算机程序指令可以根据预定义的计算机语言、方式或语法来实现,以用于指示计算机执行特定操作段。可以使用任何合适的高级、低级、面向对象、可视、编译和/或解释的编程语言来实现指令。
数据存储装置和/或存储器可以由各种类型的处理器可读存储介质实现,诸如硬盘介质、包含多个存储设备的存储阵列、光学介质、固态驱动器技术、ROM、RAM和其他技术。操作可能以固件、软件、硬连线电路、门阵列技术和其他技术实现处理器可执行指令,无论是由微处理器、微处理器核、微控制器、专用电路还是其他处理技术执行或辅助。应当理解,写入控制器、存储控制器、数据写入电路、数据读取和恢复电路、分类模块、以及数据存储系统的其他功能模块可以包括处理器或者与处理器协同工作以处理用于执行系统实现的过程的处理器可读指令。
本文描述的所公开技术的实施方案被实现为一个或多个计算机系统中的逻辑步骤。目前所公开技术的逻辑操作被实现为:(1)在一个或多个计算机系统中执行的处理器实现的步骤序列,以及(2)一个或多个计算机系统内的互连机器或电路模块。实施方式是取决于实现所公开技术的计算机系统的性能要求的选择问题。因此,构成本文描述的所公开技术的实施方案的逻辑操作被不同地称为操作、步骤、对象或模块。此外,应当理解,逻辑操作可能以任何顺序执行,根据需要添加和省略,除非另有明确要求保护或者权利要求语言固有地需要特定顺序。
以上说明书、示例和数据提供了对所公开技术的示例性实施方案的结构和使用的完整描述。由于可以在不脱离所公开技术的实质和范围的情况下作出所公开技术的许多实施方案,因此所公开技术驻留在下文所附的权利要求中。此外,在不脱离所述权利要求的情况下,可以在又一实施方案中组合不同实施方案的结构特征。
Claims (20)
1.一种通过连接到主机的固态存储设备的存储器阵列的闪存存储器接口来管理存储器访问操作的方法,所述方法包括:
在所述存储器阵列中执行第一存储器访问操作,所述第一存储器访问操作具有第一优先级;
检测可用于在所述存储器阵列中执行并具有比所述第一优先级高的优先级的至少一个暂停存储器访问操作,所述检测操作区分暂停存储器访问操作与非暂停存储器访问操作;
响应于所述检测操作,暂停在所述存储器阵列中执行第一存储器访问操作;
响应于所述暂停操作,执行具有比所述第一优先级高的优先级并可用于在所述存储器阵列中执行的一个或多个存储器访问操作,直到没有具有比所述第一优先级高的优先级的其他存储器访问操作可用于在所述存储器阵列中执行;以及
响应于完成所述执行操作,恢复在所述存储器阵列中执行所述第一存储器访问操作。
2.根据权利要求1所述的方法,还包括:
在所述恢复操作之前在所述存储器阵列中执行一个或多个新可用的存储器访问操作,所述一个或多个新可用的存储器访问操作具有比所述第一优先级高的优先级并在至少一个定时暂停扩展窗口到期之前变为可用于在所述存储器阵列中执行,所述至少一个定时暂停扩展窗口在终止执行所述一个或多个存储器访问操作的所述操作之后开始。
3.根据权利要求1所述的方法,其中在所述第一存储器访问操作保持暂停的同时,对于多个定时暂停扩展窗口迭代地执行在所述存储器阵列中执行一个或多个新可用的存储器访问操作的所述操作。
4.根据权利要求1所述的方法,其中所述第一存储器访问操作被分成间隔序列,所述第一存储器访问操作在暂停之前的间隔的执行间隔中执行,并且所述暂停操作包括:
延迟暂停所述第一存储器访问操作,直到所述第一存储器访问操作的执行间隔完成;以及
在完成所述第一存储器访问操作的所述执行间隔之后,暂停在所述存储器阵列中执行所述第一存储器访问操作。
5.根据权利要求4所述的方法,其中下一个间隔跟随所述间隔序列中的所述执行间隔,所述恢复操作包括:
在所述序列的所述下一个间隔恢复在所述存储器阵列中执行所述第一存储器访问操作。
6.根据权利要求1所述的方法,其中所述执行操作包括:
在所述执行操作期间并响应于检测到可用于在所述存储器中执行的恢复-触发存储器访问操作,恢复在所述存储器中执行所述第一存储器访问操作。
7.根据权利要求1所述的方法,其中所述第一存储器访问操作是编程操作,并且具有比所述编程操作高的优先级的其他存储器访问操作中的至少一个存储器访问操作是主机读取操作。
8.根据权利要求1所述的方法,其中对于多级的较高优先级的存储器访问操作执行嵌套级的暂停和恢复。
9.一种用于管理连接到主机的固态存储设备中的存储器访问操作的系统,所述系统包括:
一个或多个存储器阵列;和
闪存存储器接口,所述闪存存储器接口包括存储器控制器,所述存储器控制器耦接到所述一个或多个存储器阵列并被配置成:
在所述一个或多个存储器阵列的存储器阵列中执行第一存储器访问操作,所述第一存储器访问操作具有第一优先级,
检测可用于在所述存储器阵列中执行并具有比所述第一优先级高的优先级的至少一个暂停存储器访问操作,所述检测操作区分暂停存储器访问操作与非暂停存储器访问操作,
响应于所述检测操作,暂停在所述存储器阵列中执行第一存储器访问操作,
响应于暂停执行所述第一存储器访问操作,执行具有比所述第一优先级高的优先级并可用于在所述存储器阵列中执行的一个或多个存储器访问操作,直到没有具有比所述第一优先级高的优先级的其他存储器访问操作可用于在所述存储器阵列中执行,以及
响应于所述执行操作的完成,恢复在所述存储器阵列中执行所述第一存储器访问操作。
10.根据权利要求9所述的系统,其中所述存储器控制器包括:
定时器,所述定时器在终止执行所述一个或多个存储器访问操作的所述操作之后开始至少一个定时暂停扩展窗口,并且所述存储器控制器被进一步配置成在所述恢复操作之前在所述存储器阵列中恢复一个或多个新可用的存储器访问操作,所述一个或多个新可用的存储器访问操作具有比所述第一优先级高的优先级并在所述至少一个定时暂停扩展窗口到期之前变为可用于在所述存储器阵列中执行。
11.根据权利要求10所述的系统,其中所述第一存储器访问操作被分成间隔序列,每个间隔的时间比所述至少一个定时暂停扩展窗口长,并且所述第一存储器访问操作在暂停之前的间隔的执行间隔中执行,并且所述存储器控制器被进一步配置成通过以下方式执行所述暂停操作:
延迟暂停所述第一存储器访问操作,直到所述第一存储器访问操作的所述执行间隔完成,以及
在完成所述第一存储器访问操作的所述执行间隔之后,暂停在所述存储器阵列中执行所述第一存储器访问操作。
12.根据权利要求11所述的系统,其中下一个间隔跟随所述间隔序列中的所述执行间隔,并且所述存储器控制器被进一步配置成通过在所述序列的所述下一个间隔恢复在所述存储器阵列中执行所述第一存储器访问操作来恢复执行所述第一存储器访问操作。
13.根据权利要求9所述的系统,其中所述存储器控制器被进一步配置成在所述第一存储器访问操作保持暂停的同时,对于多个定时暂停扩展窗口迭代地在所述存储器阵列中执行一个或多个新可用的存储器访问操作。
14.根据权利要求9所述的系统,其中所述第一存储器访问操作是编程操作,并且具有比所述编程操作高的优先级的所述其他存储器访问操作中的至少一个存储器访问操作是主机读取操作。
15.根据权利要求9所述的系统,其中当满足恢复触发条件并且具有比所述第一优先级高的优先级的至少一个存储器访问操作保持可用于在所述存储器阵列中执行时,所述存储器控制器被进一步配置成中断执行所述一个或多个存储器访问操作并恢复所述第一存储器访问操作。
16.根据权利要求9所述的系统,其中具有较高优先级的存储器访问操作在具有较低优先级的存储器访问操作之前可用。
17.一种或多种有形处理器可读存储介质,所述一种或多种有形处理器可读存储介质对处理器可执行指令编码以用于在处理器上执行通过连接到主机的固态存储设备的存储器阵列的闪存存储器接口来管理存储器访问操作的过程,所述过程包括:
在所述存储器阵列中执行第一存储器访问操作,所述第一存储器访问操作具有第一优先级;
检测可用于在所述存储器阵列中执行并具有比所述第一优先级高的优先级的至少一个暂停存储器访问操作,所述检测操作区分暂停存储器访问操作与非暂停存储器访问操作;
响应于所述检测操作,暂停在所述存储器阵列中执行第一存储器访问操作;
响应于所述暂停操作,在所述存储器阵列中执行具有比所述第一优先级高的优先级并可用于执行的一个或多个存储器访问操作,直到没有具有比所述第一优先级高的优先级的其他存储器访问操作可用于在所述存储器阵列中执行;以及
响应于完成所述执行操作,恢复在所述存储器阵列中执行所述第一存储器访问操作。
18.根据权利要求17所述的一种或多种有形处理器可读存储介质,还包括:
在所述恢复操作之前在所述存储器阵列中执行一个或多个新可用的存储器访问操作,所述一个或多个新可用的存储器访问操作具有比所述第一优先级高的优先级并在至少一个定时暂停扩展窗口到期之前变为可用于在所述存储器阵列中执行,所述至少一个定时暂停扩展窗口在终止执行所述一个或多个存储器访问操作的所述操作之后开始。
19.根据权利要求17所述的一种或多种有形处理器可读存储介质,其中所述第一存储器访问操作是编程操作,并且具有比所述编程操作高的优先级的所述其他存储器访问操作中的至少一个存储器访问操作是主机读取操作。
20.根据权利要求17所述的一种或多种有形处理器可读存储介质,其中所述第一存储器访问操作是编程操作,并且具有比所述编程操作高的优先级的所述其他存储器访问操作中的至少一个存储器访问操作是映射读取操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/982,210 US10509747B2 (en) | 2018-05-17 | 2018-05-17 | Memory access operation suspend/resume |
US15/982,210 | 2018-05-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110503999A true CN110503999A (zh) | 2019-11-26 |
CN110503999B CN110503999B (zh) | 2023-08-01 |
Family
ID=68533626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910412897.1A Active CN110503999B (zh) | 2018-05-17 | 2019-05-17 | 用于管理存储器访问操作的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10509747B2 (zh) |
JP (1) | JP2019200833A (zh) |
KR (1) | KR20190132266A (zh) |
CN (1) | CN110503999B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9123414B2 (en) * | 2013-11-22 | 2015-09-01 | Micron Technology, Inc. | Memory systems and memory programming methods |
US9336875B2 (en) | 2013-12-16 | 2016-05-10 | Micron Technology, Inc. | Memory systems and memory programming methods |
KR20200057311A (ko) * | 2018-11-16 | 2020-05-26 | 삼성전자주식회사 | 통신되는 데이터의 양을 동작의 중단 빈도에 따라 스로틀링하는 스토리지 장치 |
US10871923B2 (en) | 2019-03-06 | 2020-12-22 | Micron Technology, Inc. | Management of program suspend and resume operations of a memory sub-system |
US10956081B2 (en) * | 2019-04-18 | 2021-03-23 | Intel Corporation | Method, system, and apparatus for multi-tiered progressive memory program operation suspend and resume |
JP7258697B2 (ja) * | 2019-09-02 | 2023-04-17 | キオクシア株式会社 | 半導体記憶装置 |
US20210314653A1 (en) * | 2020-04-02 | 2021-10-07 | Rovi Guides, Inc. | Systems and methods for delayed pausing |
JP2022092965A (ja) | 2020-12-11 | 2022-06-23 | キオクシア株式会社 | メモリシステム |
US11886346B2 (en) * | 2021-04-22 | 2024-01-30 | Micron Technology, Inc. | Cache read context switching in a memory sub-system |
US11604732B1 (en) * | 2021-09-02 | 2023-03-14 | Micron Technology, Inc. | Memory performance during program suspend protocol |
WO2023141933A1 (en) | 2022-01-28 | 2023-08-03 | Nvidia Corporation | Techniques, devices, and instruction set architecture for efficient modular division and inversion |
WO2023141934A1 (en) | 2022-01-28 | 2023-08-03 | Nvidia Corporation | Efficient masking of secure data in ladder-type cryptographic computations |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822244A (en) * | 1997-09-24 | 1998-10-13 | Motorola, Inc. | Method and apparatus for suspending a program/erase operation in a flash memory |
US20020188812A1 (en) * | 2001-06-12 | 2002-12-12 | Akila Sadhasivan | Implementing a dual partition flash with suspend/resume capabilities |
US20050078525A1 (en) * | 2003-10-14 | 2005-04-14 | Guo Jason Xiaojiang | Suspend-resume programming method for flash memory |
CN101211252A (zh) * | 2006-12-26 | 2008-07-02 | 劲永国际股份有限公司 | 存储器储存装置 |
US20130238835A1 (en) * | 2012-03-06 | 2013-09-12 | Hon Hai Precision Industry Co., Ltd. | Burning system and method |
CN103392208A (zh) * | 2011-04-28 | 2013-11-13 | 株式会社日立制作所 | 半导体存储装置和用于控制半导体存储装置的方法 |
CN103914412A (zh) * | 2013-01-09 | 2014-07-09 | 国际商业机器公司 | 用于存储设备中的流量优先化的方法,存储设备以及存储系统 |
US20140215175A1 (en) * | 2013-01-31 | 2014-07-31 | Apple Inc. | Efficient suspend-resume operation in memory devices |
US20160154594A1 (en) * | 2014-11-27 | 2016-06-02 | Samsung Electronics Co., Ltd. | Method for managing address map for fast open operation and memory system |
CN106504790A (zh) * | 2015-09-07 | 2017-03-15 | 株式会社东芝 | 半导体存储装置及存储器系统 |
US20180004410A1 (en) * | 2016-06-29 | 2018-01-04 | Intel Corporation | Method, system, and apparatus for nested suspend and resume in a solid state drive |
US9940232B1 (en) * | 2017-02-08 | 2018-04-10 | Seagate Technology Llc | Post-program conditioning of stacked memory cells prior to an initial read operation |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7562180B2 (en) * | 2006-03-28 | 2009-07-14 | Nokia Corporation | Method and device for reduced read latency of non-volatile memory |
US9021158B2 (en) | 2009-09-09 | 2015-04-28 | SanDisk Technologies, Inc. | Program suspend/resume for memory |
US9626294B2 (en) * | 2012-10-03 | 2017-04-18 | International Business Machines Corporation | Performance-driven cache line memory access |
US10514862B2 (en) * | 2016-07-21 | 2019-12-24 | Micron Technology, Inc. | Memory device including concurrent suspend states for different operations |
US10474578B2 (en) * | 2017-08-30 | 2019-11-12 | Oracle International Corporation | Utilization-based throttling of hardware prefetchers |
-
2018
- 2018-05-17 US US15/982,210 patent/US10509747B2/en active Active
-
2019
- 2019-05-16 JP JP2019092849A patent/JP2019200833A/ja active Pending
- 2019-05-17 CN CN201910412897.1A patent/CN110503999B/zh active Active
- 2019-05-17 KR KR1020190057652A patent/KR20190132266A/ko not_active Application Discontinuation
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822244A (en) * | 1997-09-24 | 1998-10-13 | Motorola, Inc. | Method and apparatus for suspending a program/erase operation in a flash memory |
US20020188812A1 (en) * | 2001-06-12 | 2002-12-12 | Akila Sadhasivan | Implementing a dual partition flash with suspend/resume capabilities |
US20050078525A1 (en) * | 2003-10-14 | 2005-04-14 | Guo Jason Xiaojiang | Suspend-resume programming method for flash memory |
CN101211252A (zh) * | 2006-12-26 | 2008-07-02 | 劲永国际股份有限公司 | 存储器储存装置 |
CN103392208A (zh) * | 2011-04-28 | 2013-11-13 | 株式会社日立制作所 | 半导体存储装置和用于控制半导体存储装置的方法 |
US20130238835A1 (en) * | 2012-03-06 | 2013-09-12 | Hon Hai Precision Industry Co., Ltd. | Burning system and method |
CN103914412A (zh) * | 2013-01-09 | 2014-07-09 | 国际商业机器公司 | 用于存储设备中的流量优先化的方法,存储设备以及存储系统 |
US20140215175A1 (en) * | 2013-01-31 | 2014-07-31 | Apple Inc. | Efficient suspend-resume operation in memory devices |
US20160154594A1 (en) * | 2014-11-27 | 2016-06-02 | Samsung Electronics Co., Ltd. | Method for managing address map for fast open operation and memory system |
CN106504790A (zh) * | 2015-09-07 | 2017-03-15 | 株式会社东芝 | 半导体存储装置及存储器系统 |
US20180004410A1 (en) * | 2016-06-29 | 2018-01-04 | Intel Corporation | Method, system, and apparatus for nested suspend and resume in a solid state drive |
US9940232B1 (en) * | 2017-02-08 | 2018-04-10 | Seagate Technology Llc | Post-program conditioning of stacked memory cells prior to an initial read operation |
Non-Patent Citations (2)
Title |
---|
DONGLIANG XIONG 等: "Memory Access Scheduling Based on Dynamic Multilevel Priority in Shared DRAM Systems", 《ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION》 * |
杨磊 等: "一种自适应的存储器访问乱序调度机制", 《计算机工程》 * |
Also Published As
Publication number | Publication date |
---|---|
JP2019200833A (ja) | 2019-11-21 |
US10509747B2 (en) | 2019-12-17 |
KR20190132266A (ko) | 2019-11-27 |
CN110503999B (zh) | 2023-08-01 |
US20190354498A1 (en) | 2019-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110503999A (zh) | 用于管理存储器访问操作的方法和系统 | |
KR101517416B1 (ko) | 셀당 단일 비트 nand 플래시 메모리를 에뮬레이팅하기 위한 셀당 다수 비트 nand 플래시 메모리에 대한 제어기 | |
US10956317B2 (en) | Garbage collection in non-volatile memory that fully programs dependent layers in a target block | |
KR102635689B1 (ko) | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 | |
KR20210027783A (ko) | 저장 장치 및 그 동작 방법 | |
CN114097033A (zh) | 存储器子系统的被取消映射分配单元的管理 | |
KR20200010813A (ko) | 컨트롤러 및 그것의 동작 방법 | |
KR20220013661A (ko) | 메모리 시스템, 메모리 장치 및 메모리 장치의 동작 방법 | |
KR20210079549A (ko) | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 | |
CN113946283B (zh) | 存储器装置的分区命名空间中的部分区存储器单元处置 | |
CN106356093B (zh) | 存储器的操作方法及应用其的存储器装置 | |
KR20220032268A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20220089854A (ko) | Ufs 장치 및 ufs 장치의 동작 방법 | |
KR20220001137A (ko) | 메모리 시스템, 메모리 장치 및 메모리 장치의 동작 방법 | |
KR20210143387A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
KR20210012123A (ko) | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 | |
US11915785B2 (en) | Memory sub-system management based on dynamic control of wordline start voltage | |
KR20200124728A (ko) | 데이터 블록들에 관한 다른 동작의 수행율에 기초한 데이터 블록들에 관한 동작의 동시 수행 | |
KR20230072196A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20230049858A (ko) | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 | |
US11182108B2 (en) | Memory system, memory controller, and operation method | |
US11526299B2 (en) | Elastic buffer for media management of a memory sub-system | |
KR20220070989A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20220118004A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20220025405A (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 |