CN111488120B - 用于自适应芯片启用设置时间的数据存储***和方法 - Google Patents
用于自适应芯片启用设置时间的数据存储***和方法 Download PDFInfo
- Publication number
- CN111488120B CN111488120B CN201911278307.7A CN201911278307A CN111488120B CN 111488120 B CN111488120 B CN 111488120B CN 201911278307 A CN201911278307 A CN 201911278307A CN 111488120 B CN111488120 B CN 111488120B
- Authority
- CN
- China
- Prior art keywords
- volatile memory
- memory device
- value
- set time
- chip enable
- 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
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
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)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
用于自适应芯片启用设置时间的数据存储***和方法的装置、介质、方法和***。一种数据存储***可包括一个或多个非易失性存储器设备和控制器。所述控制器被配置为确定对所述一个或多个非易失性存储器设备的第一非易失性存储器设备的命令是否被删除。所述控制器被配置为当确定对所述第一非易失性存储器设备的所述命令要被删除时,更新第一计数器值,所述第一计数器值指示对所述第一非易失性存储器设备的被删除的命令的数量。所述控制器被配置为当确定对所述第一非易失性存储器设备的命令要被删除时,基于第一非易失性存储器设备的第一计数器值和一个或多个参数值中的至少一个,将第一非易失性存储器设备的芯片启用设置时间参数的值增加第一持续时间。
Description
背景技术
一般来讲,非易失性存储器设备在非易失性存储器设备接收命令时不处于稳定状态。非易失性存储器设备达到稳定状态所需的时间可受到各种因素的影响,包括但不限于数据存储***的操作环境、非易失性存储器设备的质量等。在接收到命令时不提供稳定状态的一个后果是命令或命令的一部分可能被删除并且未被成功执行。命令的删除可能会导致旧数据被传输到主机***,并且可能导致不可逆的数据损坏。
背景技术部分中提供的描述不应仅因为它在背景技术部分中被提及或与背景技术部分相关联而被认为是现有技术。背景技术部分可包括描述主题技术的一个或多个方面的信息,并且该部分中的描述不限制本发明。
附图说明
图1描绘了示出提供给非易失性存储器设备的信号的时序图的示例曲线图。
图2描绘了基于对非易失性存储器设备的命令是否被成功执行而示出该非易失性存储器设备的芯片启用设置时间参数的值的变化的示例曲线图。
图3是示出根据例示性具体实施的数据存储***的部件的框图。
图4是调节非易失性存储器设备的芯片启用设置时间参数的值的示例方法的流程图。
在一个或多个具体实施中,并非每个附图中所示的所有部件都是必需的,并且一个或多个具体实施可包括附图中未示出的附加部件。在不脱离本主题的公开的范围的情况下,可以作出对部件的布置和类型的变化。在本主题的公开的范围内,可以利用附加部件、不同部件或更少部件。
具体实施方式
下面阐述的具体实施方式旨在作为本主题的公开的各个配置的描述,而不旨在表示可实践本主题的公开的唯一配置。附图被并入本文中并且构成具体实施方式的一部分。具体实施方式包括具体细节,其目的是提供对本主题的公开的透彻理解。然而,将对本领域的技术人员显而易见的是,可以在没有这些具体细节的情况下实践本主题的公开。在一些情况下,结构和部件以框图的形式示出,以便避免模糊本主题的公开的概念。为了便于理解,相同的部件标有相同的元件符号。
本说明书一般涉及数据存储***和方法,并且更具体地,涉及例如但不限于用于自适应芯片启用设置时间的数据存储***和方法。一般来说,非易失性存储器设备诸如NAND闪存存储器设备可处于稳定状态以成功地执行被发送到非易失性存储器设备的命令。在一些具体实施中,命令的成功执行可以是在不删除命令的任何部分的情况下执行命令。非易失性存储器设备从空闲状态转变到稳定状态的时间可由非易失性存储器设备的芯片启用设置时间参数的值表示。例如,如图1所示的时序图所示,由芯片启用(CEn)信号的符号tCS表示的值是芯片启用设置时间参数的值,并且它表示非易失性存储器设备必须从空闲状态转变到稳定状态的最大时间量。如图1所示,非易失性存储器设备可具有各种其他信号,诸如命令锁存器启用(CLE)信号、写启用(WEn)信号、地址启用(ALE)信号、就绪繁忙(R/Bn)信号和读启用(REn)信号,使得可基于芯片启用信号以及这些其他信号来处理输入/输出(I/O)。
在一些先前实现的技术中,数据存储***的每个非易失性存储器设备的芯片启用设置时间参数的值可被预先确定为相同的值。芯片启用设置时间参数的此类值可不基于非易失性存储器设备的任何制造方差或非易失性存储器设备的任何具体特性。此外,响应于确定对非易失性存储器设备的命令被删除,芯片启用设置时间参数的值增加至足够大以覆盖所有可能的错误原因的值。然而,将芯片启用设置时间参数的值增加到如此大的值会导致增加命令的执行时间。因此,芯片启用设置时间参数的此类增加可能降低数据存储***的性能。
本主题的技术的一个或多个具体实施提供了数据存储***、方法和技术,这些***、方法和技术基于非易失性存储器设备的制造方差和非易失性存储器设备对基准值集的校准来确定芯片启用设置时间参数的默认值。数据存储***的控制器可被配置为确定对非易失性存储器设备的命令是否被删除,并且作为响应,控制器可被配置为调节非易失性存储器设备的芯片启用设置时间参数的值。
例如,如图2所示,可基于对非易失性存储器设备的命令被删除的确定来增加非易失性存储器设备的芯片启用设置时间参数的值(参见例如图11a、图11b、图11c)。当满足更新条件时(例如,在阈值数量的命令不被删除时或在一段时间内命令未被删除时)(参见例如图12a、图12b、图12c、图12d、图12e、图12f),此类值可减少。然而,如果芯片启用设置时间参数值已处于默认值,那么即使满足更新条件(参见例如图13),芯片启用设置时间参数值也不会减少。
可基于非易失性存储器设备的制造方差和非易失性存储器设备对基准值集的校准来确定芯片启用设置时间参数的值增加和减少的量。芯片启用设置时间参数的值减少的量可以是芯片启用设置时间参数的值增加的量的一部分。下文和本文详细描述了确定是否删除对非易失性存储器设备的命令以及调节芯片启用设置时间参数的值的附加细节。
图3是描绘根据本主题的技术的一个或多个方面的数据存储***100的示例部件的框图。数据存储***100包括控制器102、编码/解码引擎104、存储介质106和非易失性存储器设备阵列108等。如图3所示,数据存储***100可以经由主机接口112连接到主机设备110。
控制器102可以包括若干内部部件(未示出),诸如一个或多个处理器103、只读存储器、非易失性部件接口(例如,用于管理沿着与非易失性存储器设备阵列108的连接的指令和数据输送的多路复用器)、I/O接口、错误校正电路等。控制器102的处理器可以监测和控制数据存储控制器102中的部件的操作。处理器和/或控制器102可以是多核处理器、通用微处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、控制器、状态机、门控逻辑装置、分立硬件部件或前述项的组合。在一些具体实施中,控制器102的一个或多个元件可集成到单个芯片中。在一些具体实施中,元件可在两个或更多个分立部件上实现。
控制器102可以执行代码或指令以进行本文所述的操作和功能性。例如,控制器102可以执行用于管理请求流和地址映射的操作,并且执行操作以执行计算和生成命令。一个或多个指令序列可以作为固件存储在控制器102内的存储器上。一个或多个指令序列可以是存储于存储介质106、非易失性存储器设备阵列108并且从其中读取的软件,或者从主机设备110(例如,经由主机接口112)接收的软件。存储介质106和非易失性存储器设备阵列108包括在其上可存储可由控制器102执行的指令/代码的机器可读介质或计算机可读介质的示例。机器可读介质或计算机可读介质通常可以是指用于向控制器102提供指令的一种或多种任何有形和非暂态介质,包括易失性介质(诸如用于存储介质或用于控制器102内的缓冲器的动态存储器)和非易失性介质(诸如电子介质、光学介质和磁性介质)两者。本文所述的操作和功能性也可以使用逻辑电路(例如硬件和软件/固件的组合)以硬件实现。
在一些方面,存储介质106表示用于暂时存储用于管理数据存储***100的数据和信息的易失性存储器。根据本公开的各方面,存储介质106是随机存取存储器(RAM),诸如双倍数据速率(DDR)RAM。其他类型的RAM也可以用于实现存储介质106。可以使用单个RAM模块或多个RAM模块来实现存储介质106。虽然存储介质106被描绘为与控制器102不同,但是应当理解,在不脱离本公开的范围的情况下,存储介质106可以并入控制器102中。另选地,存储介质106可以是非易失性存储器,诸如磁盘、闪存存储器、***SSD等。
主机接口112可以耦接到主机设备110,以从主机设备110接收数据并且向主机设备发送数据。主机接口112可包括用于将主机设备110可操作地耦接到控制器102的电气连接件和物理连接件两者。主机接口112可以在主机设备110与控制器102之间传送数据、地址和控制信号。以这种方式,控制器102可以响应于来自主机设备110的写入命令而将从主机设备110接收的数据存储在非易失性存储器设备阵列108中,以及响应于来自主机设备110的读取命令而读取存储在非易失性存储器设备阵列108中的数据并且经由主机接口112将读取的数据传输到主机设备110。
主机设备110表示可耦接到数据存储***100和将数据存储在数据存储***100中的任何设备。主机设备110可以是计算***,诸如个人计算机、服务器、工作站、膝上型计算机、PDA、智能电话等。另选地,主机设备110可以是电子设备,诸如数字相机、数字音频播放器、数字视频录像机等。
如图3进一步描绘,主机设备110和数据存储***100可以经由总线114彼此通信。总线可以使用合适的接口标准,包括但不限于串行高级技术附件(SATA)、高级技术附件(ATA)、小型计算机***接口(SCSI)、PCI扩展(PCI-X)、光纤信道、串行附加SCSI(SAS)、安全数字(SD)、嵌入式多媒体卡(EMMC)、通用闪存存储装置(UFS)和***部件互连快速(PCIe)。根据一些方面,数据存储***100可以包括引脚(或插口)以与主机设备110上的对应插口(或引脚)配合来建立电气连接件和物理连接件。
控制器可以包括内部***总线115。***总线115可以包括控制总线、地址总线和数据总线的组合,并且将控制器102的部件(例如,在其中的处理器和/或存储器)与数据存储***100的其他部件(包括编码/解码引擎104、存储介质106、非易失性存储器设备阵列108和主机接口112)连接。数据通过***总线115在各个部件之间传输。***总线115可以部分地驻留在控制器102的外部和部分地驻留在控制器的内部。
主机设备110和数据存储***100可以经由有线连接或无线连接彼此通信,并且可以彼此是本地或远程的。根据一个或多个其他方面,数据存储***100(或主机接口112)包括无线收发器,以使主机设备110和数据存储***100彼此无线通信。
控制器102可以从主机设备110的存储接口模块116(例如,设备驱动器)接收数据和/或存储访问命令。由存储接口模块116传送的存储访问命令可以包括由主机设备110发出的读取命令和写入命令。读取命令和写入命令可以指定逻辑地址,例如用于访问存储在数据存储***100中的数据的逻辑块地址(LBA)。控制器102可响应于从存储接口模块116接收到的命令执行非易失性存储器设备阵列108中的命令。
非易失性存储器设备阵列108可以包括多个非易失性存储器设备118。非易失性存储器设备118表示用于存储数据的非易失性存储器设备。根据本主题的技术的各方面,非易失性存储器设备118包括例如NAND闪存存储器。每个非易失性存储器设备118可以包括单个非易失性存储器芯片或管芯,或者可以包括多个非易失性存储器芯片或管芯。例如,在非易失性存储器设备阵列108内,非易失性存储器设备118中的一些非易失性存储器设备可以包括一个非易失性管芯,而其他非易失性存储器设备可以包括多于一个非易失性管芯。非易失性存储器设备118不限于任何特定容量或配置。例如,物理块的数量、每一物理块的物理页面的数量、每一物理页面的扇区的数量以及扇区的大小可以在本主题的技术的范围内发生变化。
非易失性存储器设备118可被布置在多个通道中,其中每个通道具有一个或多个非易失性存储器设备118。非易失性存储器设备118可以包括一个或多个非易失性存储器接口(未示出)。每个非易失性存储器接口经由对应通道将控制器102连接到非易失性存储器设备中的一个非易失性存储器设备。可使用耦接在非易失性存储器接口中的一个非易失性存储器接口和一个或多个对应非易失性设备之间的一个或多个物理I/O总线来实现通道中的每个通道(未示出)。每个通道允许对应非易失性存储器接口向对应非易失性存储器设备发送读取命令、写入命令和/或擦除命令。每个非易失性存储器接口可以包括寄存器(例如,先进先出(FIFO)寄存器),该寄存器针对对应非易失性存储器设备使来自控制器102的读取命令、写入命令和/或擦除命令进行排队。尽管如上文所用的术语“通道”是指耦接在非易失性存储器接口和对应非易失性存储器设备之间的总线,但是术语“通道”可也指可通过总线(例如,***总线115)寻址的对应非易失性存储器设备。
非易失性存储器设备118可以具有标准接口规范。该标准确保来自多个制造商的芯片可以可互换地使用。非易失性存储器设备118的接口可以用于访问内部寄存器120和内部非易失性存储器控制器122。在一些具体实施中,寄存器120可包括地址寄存器、命令寄存器和/或数据寄存器,其在内部从NAND存储器单元阵列124检索必要的数据并向其输出必要的数据。以举例的方式,存储器单元阵列124可以包括单级单元(SLC)存储器、多级单元(MLC)存储器、三级单元(TLC)存储器设备等。在一些方面,非易失性存储器设备阵列108可以包括可在SLC模式、MLC模式或TLC模式中的一个或多个模式中起作用的一个或多个混合存储器设备。在本主题的技术中还可以想到其他类型的非易失性存储器,诸如3D NAND闪存存储器。
(例如,寄存器120的)数据寄存器可以包括要存储在存储器单元阵列124中的数据、或在从存储器单元阵列124取出之后的数据,并且可还用于暂时数据存储和/或像缓冲器一样作用。地址寄存器可存储从其中将数据提取到主机设备110的存储器地址或数据将被发送和存储到其中的地址。在一些方面,命令寄存器被包括来控制奇偶校验、中断控制等。在一些方面,内部非易失性存储器控制器122可经由控制寄存器访问以控制非易失性存储器设备118的一般行为。内部非易失性控制器122和/或控制寄存器可以控制停止位的数量、字长、接收器时钟源,并且可还控制切换寻址模式、寻呼控制、协处理器控制等。
编码/解码引擎104表示可编码和/或解码要存储在非易失性存储器设备阵列108中和/或从该非易失性存储器设备阵列读取的码字的一个或多个部件。编码/解码引擎104可以包括编码器和解码器。解码器可以包括硬解码器和软决策ECC解码器。编码/解码引擎104可以对从主机设备110接收的数据进行编码,并且在将解码的数据发送到主机之前对从非易失性存储器设备118读取的码字进行解码。在一些具体实施中,编码/解码引擎104可包括用于(例如,使用LDPC、BCH或涡轮码)执行错误校正的一个或多个存储器设备和/或一个或多个处理单元。编码/解码引擎104可还包括软信息模块,该软信息模块确定和/或保持用于编码操作和解码操作的软度量输入。虽然编码/解码引擎104被描绘为与控制器102不同,但是应当理解,在不脱离本公开的范围的情况下,编码/解码引擎104可以被并入控制器102中。
每个非易失性存储器设备118可被配置为基于芯片启用设置时间参数的值来操作。如上所述,芯片启用设置时间参数的值是非易失性存储器设备118在其期间从空闲状态转变为稳定状态的时间段。对于每个非易失性存储器设备118,可确定芯片启用设置时间参数的特定默认值。每个非易失性存储器设备118的芯片启用设置时间参数的默认值可以不同。每个非易失性存储器设备118的芯片启用设置时间参数的默认值可基于每个非易失性存储器设备118对基准值集的校准来选择。基于特定非易失性存储器设备118的制造方差来进行非易失性存储器设备118的校准。非易失性存储器设备118中的每一个的芯片启用设置时间参数的默认值可被存储在数据存储***100中的数据结构诸如表中。例如,具有芯片启用设置时间参数的默认值的数据结构可被存储在存储介质106中。
现在参考图4,其示出了示出调节芯片启用设置时间参数的值的过程的流程图。出于示出清楚示例的目的,参考图3示出和描述的数据存储***100的部件用于描述调节芯片启用设置时间参数的值的过程。
方法400包括确定对特定非易失性存储器设备诸如非易失性存储器设备118的命令是否已被删除(框401)。控制器102可被配置为使用各种方法来确定对特定非易失性存储器设备118的命令。例如,对于写入命令,控制器102可被配置为在将数据存储在特定非易失性存储器设备118中时随该数据包括逻辑块地址,并且控制器102可被配置为通过以下方式确定写入命令是否被删除:从非易失性存储器设备118读取所存储的数据,以及在将数据存储在非易失性存储器设备118中时确定从非易失性存储器设备读取的数据中的逻辑块地址与随该数据存储的逻辑块地址相匹配。
如果控制器102确定对特定非易失性存储器设备118的命令被删除(框401处的“是”),那么方法400继续进行到框402。控制器102更新计数器值(框402)。计数器与特定非易失性存储器设备118相关联,并且计数器的值指示被删除的命令的数量。在一些具体实施中,这种计数器可被称为命令删除计数器。每个非易失性存储器设备118可与特定命令删除计数器相关联,并且命令删除计数器的值指示对该特定非易失性存储器设备118的被删除的命令的数量。在一些具体实施中,计数器的值可表示在某个时间段内删除的命令的数量。在一些具体实施中,如果在不删除任何命令的情况下成功地执行了阈值数量的连续命令,那么计数器的值可重置为零。
控制器102将特定非易失性存储器设备118的芯片启用设置时间参数的当前值增加某个时间段(框403)。在一些具体实施中,控制器102可被配置为基于阈值来确定某个时间段。例如,阈值可为10纳秒(ns),并且控制器102可被配置为确定某个时间段为10纳秒,并且将芯片启用设置时间参数的当前值增加10纳秒。在一些具体实施中,可基于特定非易失性存储器设备118对基准值集的校准而预先确定阈值,其中基于特定非易失性存储器设备118的制造方差来进行特定非易失性存储器设备118的校准。在一些具体实施中,控制器102可被配置为基于计数器的值确定某个时间段。例如,如果计数器值指示对非易失性存储器设备118的一个命令被删除,那么控制器102可被配置为将某个时间段确定为10纳秒。类似地,如果计数器值指示对非易失性存储器设备118的两个命令被删除,那么控制器102可被配置为确定某个时间段为30纳秒,并且如果计数器值指示对非易失性存储器设备118的三个命令被删除,那么控制器102可被配置为确定某个时间段为40纳秒。
控制器102可被配置为将芯片启用设置时间参数的更新值存储在数据结构诸如表中,该数据结构被配置为存储芯片启用设置时间参数的值。例如,控制器102可被配置为将芯片启用设置时间参数的更新值存储在表中并且将该表存储在存储介质诸如存储介质106中。在一些具体实施中,数据存储***100可被配置为在数据存储***100中保持每个非易失性存储器设备118的数据结构,并且数据结构可与非易失性存储器设备118相关联。控制器102可被配置为将芯片启用设置时间参数的更新值存储在与非易失性存储器设备118相关联的数据结构中。控制器102可被配置为在非易失性存储器设备118的寿命期间将芯片启用设置时间参数的值存储在相关联的数据结构中。
如果控制器102确定对非易失性存储器设备118的命令未被删除(框401处的“否”),那么该方法继续进行到框404。控制器102确定是否满足芯片启用设置时间更新条件(框404)。在一些具体实施中,芯片启用设置时间更新条件可以是在其期间对非易失性存储器设备118的命令未被删除的阈值时间段。
例如,控制器102可被配置为确定自上次删除对非易失性存储器设备118的命令以来经过的时间的持续时间,并且确定该时间的持续时间是否满足(例如,大于或等于)阈值时间段。
在一些具体实施中,芯片启用设置时间更新条件可以是对非易失性存储器设备118成功执行而不被删除的阈值数量的命令(例如,1000个命令)。例如,如果此类更新条件为1000个命令,那么控制器102可被配置为确定对非易失性存储器设备118的在不被删除的情况下成功执行的命令的数量,并且确定命令的数量是否满足(例如,大于或等于)更新条件(1000个命令)。
控制器102可被配置为保持和/或更新每个非易失性存储器设备118的计数器,以跟踪成功执行而不被删除的命令的数量。在一些具体实施中,这种计数器可被称为成功执行的命令计数器。在一些具体实施中,成功执行的命令计数器可与特定非易失性存储器设备118相关联,并且数据存储***100的每个非易失性存储器设备118可与不同的成功执行的命令计数器相关联。在一些具体实施中,芯片启用设置时间更新条件可为对非易失性存储器设备118成功执行而不被删除的连续命令(例如,1000个连续命令)的阈值数量,并且控制器102可被配置为确定对非易失性存储器设备118成功执行的命令的连续数量满足(例如,大于或等于)芯片启用设置时间更新条件(例如,1000个连续命令)。
在一些具体实施中,控制器102可被配置为确定对非易失性存储器设备118的命令的连续数量,这些命令在不使用计数器的情况下被成功地执行。在一些具体实施中,这种计数器可被称为成功执行的连续命令计数器。在一些具体实施中,成功执行的连续命令计数器可与特定非易失性存储器设备118相关联,并且数据存储***100的每个非易失性存储器设备118可与不同的成功执行的连续命令计数器相关联。
如果控制器102确定不满足芯片启用设置时间更新条件(框404处的“否”),那么方法400前进至框407。控制器102保持当前芯片启用时间值而不对芯片启用设置时间参数的值进行任何更新。在一些具体实施中,控制器102可被配置为将芯片启用设置时间参数的当前值与当前时间段相关联,并且将芯片启用设置时间参数的当前值和当前时间段存储在数据结构中。如果控制器102确定满足芯片启用设置时间更新条件(在框404处为“是”),那么方法400前进至框405。控制器102确定当前芯片启用设置时间是否满足阈值芯片启用设置时间(框405)。例如,控制器102可被配置为确定当前芯片启用设置时间的值是否满足(例如,等于或小于)芯片启用设置时间参数的阈值。在一些具体实施中,芯片启用设置时间参数的阈值可为芯片启用设置时间参数的默认值。
如果控制器102确定芯片启用设置时间参数的当前值满足芯片启用设置时间参数的阈值(框405处为“是”),那么方法400前进至框407。如果控制器102确定芯片启用设置时间参数的当前值不满足(例如,大于)芯片启用设置时间参数的阈值(框405处的“否”),那么方法400前进至框406。控制器102将特定非易失性存储器设备118的芯片启用设置时间参数的当前值减少某个时间段。在一些具体实施中,某个时间段可为默认时间段。在一些具体实施中,控制器102可被配置为基于指示对特定非易失性存储器设备118的在不被删除的情况下成功执行的命令的数量的计数器,以及/或者基于指示对特定非易失性存储器设备118的在不被删除的情况下被成功地执行的命令的连续数量的计数器,来确定某个时间段。如上所述,在一些具体实施中,此类计数器可被称为成功执行的命令计数器和成功执行的连续命令计数器。
图2示出了调节或更新特定非易失性存储器设备118的芯片启用设置时间参数的值的方法400的示例图示。
图4中所示的流程图的框已被描述为按顺序发生。本主题的技术不限于所示的过程的所述的顺序进行。框中的一个或多个框可在所示过程中与其他框并行地执行。所示的过程的其他变化在本主题的技术的范围内。在一个或多个具体实施中,命令可指一个或多个命令。
下面描述本公开的各方面的各种示例。这些被提供作为示例,而不限制本主题的技术。
在一个或多个具体实施中,一种数据存储***包括一个或多个非易失性存储器设备和控制器。该控制器被配置为确定对该一个或多个非易失性存储器设备的第一非易失性存储器设备的命令是否被删除。该控制器被配置为当确定对第一非易失性存储器设备的命令要被删除时,更新第一计数器值,该第一计数器值指示对第一非易失性存储器设备的被删除的命令的数量。控制器被配置为当确定对第一非易失性存储器设备的命令要被删除时,基于第一非易失性存储器设备的第一计数器值和一个或多个参数值中的至少一个,将第一非易失性存储器设备的芯片启用设置时间参数的值增加第一持续时间。
在一个或多个具体实施中,一种计算机实现的方法包括确定对一个或多个非易失性存储器设备的第一非易失性存储器设备的命令是否被删除。该方法包括响应于确定对第一非易失性存储器设备的命令被删除,更新第一计数器值,该第一计数器值指示对第一非易失性存储器设备的被删除的命令的数量。该方法包括响应于确定对第一非易失性存储器设备的命令被删除,基于第一非易失性存储器设备的第一计数器值和一个或多个参数值中的至少一个,将第一非易失性存储器设备的芯片启用设置时间参数的值增加第一持续时间。
在一个或多个具体实施中,一种数据存储***包括一个或多个非易失性存储器设备。该数据存储***包括用于确定对一个或多个非易失性存储器设备的第一非易失性存储器设备的命令是否被删除的装置。响应于确定对第一非易失性存储器设备的命令被删除,该数据存储***包括用于更新第一计数器值的装置,该第一计数器值指示对第一非易失性存储器设备的被删除的命令的数量。响应于确定对第一非易失性存储器设备的命令被删除,该数据存储***包括装置,该装置用于基于第一非易失性存储器设备的第一计数器值和一个或多个参数值中的至少一个,将第一非易失性存储器设备的芯片启用设置时间参数的值增加第一时间段。
在一个或多个具体实施中,一种非暂态机器可读介质在其上包括机器可执行指令,该机器可执行指令在由处理器执行时执行一种方法。该方法包括确定对一个或多个非易失性存储器设备的第一非易失性存储器设备的命令是否被删除。该方法包括响应于确定对第一非易失性存储器设备的命令被删除,更新第一计数器值,该第一计数器值指示对第一非易失性存储器设备的被删除的命令的数量。该方法包括响应于确定对第一非易失性存储器设备的命令被删除,基于第一非易失性存储器设备的第一计数器值和一个或多个参数值中的至少一个,将第一非易失性存储器设备的芯片启用设置时间参数的值增加第一持续时间,其中第一持续时间可配置用于第一非易失性存储器设备。
应当理解,从本文的具体实施方式中,本领域的技术人员将显而易见本主题的技术的其他配置,其中以图示的方式示出和描述本主题的技术的各种配置。本主题的技术能够具有其他和不同配置,并且其若干细节能够在各种其他方面进行修改,所有这些都不脱离本主题的技术的范围。因此,附图和具体实施方式本质上被认为是例示性的而不是限制性的。
示例性过程的上述特征中的许多特征以及相关特征和应用可以被实施为被指定作为记录在处理器可读存储介质(也被称为计算机可读介质)上的指令集的软件过程或固件过程。当这些指令由一个或多个处理单元(例如,一个或多个处理器、处理器的核心或其他处理单元)执行时,使一个或多个处理单元执行指令中指示的动作。处理器可读介质的示例包括但不限于易失性存储器、非易失性存储器,以及其他形式的介质诸如磁性介质、光学介质和电子介质。处理器可读介质不包括无线或通过有线连接传送的载波和电子信号。
术语“软件”在适当时旨在包括驻留在存储器中的固件或存储在存储器中的应用程序,其可以被读入工作存储器中以供处理器处理。而且,在一些具体实施中,本主题的公开的多个软件方面可以被实现为较大程序的子部分,同时保留本主题的公开的不同的软件方面。在一些具体实施中,多个软件方面可也被实现为单独的程序。最后,共同实现本文所述的软件方面的单独程序的任何组合均在本主题的公开的范围内。在一些具体实施中,当被安装以在一个或多个电子***上操作时,软件程序限定执行和进行软件程序的操作的一个或多个特定机器具体实施。
计算机程序(也被称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言、声明或过程语言)编写,并且其可以任何形式(包括作为独立程序,或作为模块、部件、子例程、对象或适用于计算环境中的其他单元)来部署。计算机程序可以但不必对应于文件***中的文件。程序可存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中、专用于所述程序的单个文件中,或多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
应当理解,本文所述的例示性框、模块、元件、部件、方法和算法可以被实现为电子硬件、计算机软件或两者的组合。为了例证硬件和软件的这种可互换性,上面已经大体上就它们的功能性方面而描述了各个例示性框、模块、元件、部件、方法和算法。将此功能性实现为硬件还是软件取决于特定应用和施加在整个***的设计约束。技术人员可以针对每个特定应用以不同的方式实现所述的功能性。在不脱离本主题的公开的范围的情况下,各个部件和框可以全都不同地布置(例如,以不同的次序布置、或以不同的方式划分)。
应当理解,所公开的过程中的步骤的具体次序或分级被呈现为一些示例性方法的例示。基于设计偏好和/或其他考虑,应当理解,过程中的步骤的具体次序或分级可以进行重新布置。例如,在一些具体实施中,可同时进行步骤中的一些步骤。因此,所附方法权利要求书以样本次序来呈现各个步骤的各要素,并且不旨在受到所呈现的具体的次序或分级限制。
先前描述被提供来使本领域的技术人员能够实践本文所述的各个方面。先前描述提供本主题的公开的各个示例,并且本主题的公开不限于这些示例。这些方面的各种修改对本领域的技术人员是显而易见的,并且本文限定的一般原理可以应用于其他方面。因此,权利要求书并非旨在被限制于本文所示的各方面,而是将被赋予与语言权利要求书一致的全部范围,其中除非如此特别说明,否则以单数指称某个元件并非旨在意指“一个且仅一个”,而是意指“一个或多个”。除非另外特别说明,否则术语“一些”是指一个或多个。阳性化的代词(例如,他的)包括阴性化的代词和中性化代词(例如,她的和它的),反之亦然。标题和副标题(如果有的话)仅为了方便才使用,而不限制本主题的公开。
谓词“被配置为”、“可操作为”和“被编程为”并非暗示对象的任何特定有形或无形修改,而是旨在进行可互换地使用。例如,被配置为监测和控制操作或部件的处理器也可以是意指被编程以监测和控制操作的处理器,或者可操作为监测和控制操作的处理器。同样,被配置为执行代码的处理器可以被理解为被编程为执行代码或可操作地执行代码的处理器。
短语“与……通信”和“耦接”意指与……直接通信或经由本文提及或未提及的一个或多个部件(例如,存储器读卡器)间接通信。
诸如“方面”的短语并非暗示此类方面对本主题的公开是必要的,或此类方面适用于本主题的公开的所有配置。与一个方面有关的公开内容可以适用于所有配置、或一个或多个配置。一个方面可以提供一个或多个示例。诸如方面的短语可以是指一个或多个方面,反之亦然。诸如“具体实施”的短语并非暗示此类具体实施对本主题的公开内容是必要的,或此类具体实施适用于本主题的公开内容的所有配置。与具体实施有关的公开内容可以适用于所有方面,或一个或多个方面。具体实施可以提供一个或多个示例。诸如“具体实施”的短语可以指一个或多个实施方式,反之亦然。诸如“配置”的短语并非暗示此类配置对本主题的公开内容是必要的,或此类配置适用于本主题的公开内容的所有配置。与配置有关的公开内容可以适用于所有配置、或一个或多个配置。配置可以提供一个或多个示例。诸如“配置”的短语可以是指一个或多个配置,反之亦然。
字词“示例性”用于意指“用作示例或例证”。本文描述为“示例性”的任何方面或设计不必被理解为比其他方面或设计更优选或更有利。
Claims (18)
1.一种数据存储***,所述数据存储***包括:
一个或多个非易失性存储器设备;和
控制器,
其中所述控制器被配置为:
确定对所述一个或多个非易失性存储器设备的第一非易失性存储器设备的命令是否被删除;
当确定所述第一非易失性存储器设备的所述命令要被删除时,
更新第一计数器值,所述第一计数器值指示对所述第一非易失性存储器设备的被删除的命令的数量;以及
基于所述第一非易失性存储器设备的所述第一计数器值和一个或多个参数值中的至少一个,将所述第一非易失性存储器设备的芯片启用设置时间参数的值增加第一持续时间,
其中所述一个或多个参数值包括所述第一非易失性存储器设备的制造方差和所述第一非易失性存储器设备对基准值集的校准中的至少一个;并且
其中所述第一非易失性存储器设备的所述芯片启用设置时间参数的值表示所述第一非易失性存储器设备的从空闲状态转变到稳定状态的时间。
2.根据权利要求1所述的数据存储***,其中所述控制器被配置为:
当确定对所述第一非易失性存储器设备的所述命令不被删除时,
更新与所述第一非易失性存储器设备相关联的第二计数器值;
确定所述第二计数器值是否满足阈值;以及
当所述第二计数器值满足所述阈值时,
将所述第一非易失性存储器设备的所述芯片启用设置时间参数的所述值减少第二持续时间。
3.根据权利要求2所述的数据存储***,其中所述控制器被配置为:
当所述第二计数器值满足所述阈值时,
基于所述第一非易失性存储器设备的所述第二计数器值或所述一个或多个参数值中的一个或多个中的至少一个来确定所述第二持续时间。
4.根据权利要求2所述的数据存储***,其中所述控制器被配置为:
当所述第二计数器值满足所述阈值时,
确定所述芯片启用设置时间参数的值是否满足所述芯片启用设置时间参数的默认值;以及
当所述芯片启用设置时间参数的所述值不满足所述芯片启用设置时间参数的所述默认值时,
将所述芯片启用设置时间参数的所述值减少所述第二持续时间。
5.根据权利要求2所述的数据存储***,其中所述第二计数器值指示对所述第一非易失性存储器设备的未被删除的连续命令的数量。
6.根据权利要求1所述的数据存储***,其中所述控制器被配置为:
确定对所述一个或多个非易失性存储器设备的第二非易失性存储器设备的命令是否被删除;以及
当确定所述第二非易失性存储器设备的所述命令要被删除时,
基于所述第二非易失性存储器设备的第三计数器值和一个或多个参数值中的至少一个,将用于所述第二非易失性存储器设备的芯片启用设置时间参数的值增加第三持续时间,其中所述第三持续时间不同于所述第一持续时间,并且所述第三计数器值指示对所述第二非易失性存储器设备的被删除的命令的数量。
7.一种用于数据存储***的计算机实现的方法,所述方法包括:
确定对一个或多个非易失性存储器设备的第一非易失性存储器设备的命令是否被删除;
响应于确定对所述第一非易失性存储器设备的所述命令被删除:
更新第一计数器值,所述第一计数器值指示对所述第一非易失性存储器设备的被删除的命令的数量;以及
基于所述第一非易失性存储器设备的所述第一计数器值和一个或多个参数值中的至少一个,将所述第一非易失性存储器设备的芯片启用设置时间参数的值增加第一持续时间,其中所述第一持续时间能够配置用于所述第一非易失性存储器设备,
其中所述一个或多个参数值包括所述第一非易失性存储器设备的制造方差和所述第一非易失性存储器设备对基准值集的校准中的至少一个;并且
其中所述第一非易失性存储器设备的所述芯片启用设置时间参数的值表示所述第一非易失性存储器设备的从空闲状态转变到稳定状态的时间。
8.根据权利要求7所述的计算机实现的方法,还包括:
响应于确定对所述第一非易失性存储器设备的所述命令未被删除:
更新与所述第一非易失性存储器设备相关联的第二计数器值;
确定所述第二计数器值是否满足阈值;以及
响应于确定所述第二计数器值满足所述阈值:
将所述第一非易失性存储器设备的所述芯片启用设置时间参数的所述值减少第二持续时间。
9.根据权利要求8所述的计算机实现的方法,还包括:
基于所述第一非易失性存储器设备的所述第二计数器值或所述一个或多个参数值中的一个或多个中的至少一个来确定所述第二持续时间。
10.根据权利要求8所述的计算机实现的方法,还包括:
确定所述芯片启用设置时间参数的值是否满足所述芯片启用设置时间参数的默认值;以及
响应于确定所述芯片启用设置时间参数的所述值不满足所述芯片启用设置时间参数的所述默认值:
将所述芯片启用设置时间参数的所述值减少所述第二持续时间。
11.根据权利要求8所述的计算机实现的方法,其中所述第二计数器值指示对所述第一非易失性存储器设备的未被删除的连续命令数量。
12.根据权利要求8所述的计算机实现的方法,其中所述阈值是定时器值,并且所述第一计数器值与所述第一非易失性存储器设备相关联。
13.根据权利要求7所述的计算机实现的方法,还包括:
确定对所述一个或多个非易失性存储器设备的第二非易失性存储器设备的命令是否被删除;以及
响应于确定对所述第二非易失性存储器设备的所述命令确定要被删除:
基于所述第二非易失性存储器设备的第三计数器值和一个或多个参数值中的至少一个,将用于所述第二非易失性存储器设备的芯片启用设置时间参数的值增加第三持续时间,其中所述第三持续时间不同于所述第一持续时间,并且所述第三计数器值指示对所述第二非易失性存储器设备的被删除的命令的数量。
14.一种数据存储***,所述数据存储***包括:
一个或多个非易失性存储器设备;
用于确定对所述一个或多个非易失性存储器设备的第一非易失性存储器设备的命令是否被删除的装置;
响应于确定对所述第一非易失性存储器设备的所述命令被删除:
用于更新第一计数器值的装置,所述第一计数器值指示对所述第一非易失性存储器设备的被删除的命令的数量;和
用于基于所述第一非易失性存储器设备的所述第一计数器值和一个或多个参数值中的至少一个,将所述第一非易失性存储器设备的芯片启用设置时间参数的值增加第一持续时间的装置,
其中所述一个或多个参数值包括所述第一非易失性存储器设备的制造方差和所述第一非易失性存储器设备对基准值集的校准中的至少一个;并且
其中所述第一非易失性存储器设备的所述芯片启用设置时间参数的值表示所述第一非易失性存储器设备的从空闲状态转变到稳定状态的时间。
15.根据权利要求14所述的数据存储***,所述数据存储***包括:
响应于确定对所述第一非易失性存储器设备的所述命令未被删除:
用于更新与所述第一非易失性存储器设备相关联的第二计数器值的装置;
用于确定所述第二计数器值是否满足阈值的装置;并且
响应于确定所述第二计数器值满足所述阈值:
用于将所述第一非易失性存储器设备的所述芯片启用设置时间参数的所述值减少第二持续时间的装置。
16.根据权利要求15所述的数据存储***,所述数据存储***包括:
用于基于所述第一非易失性存储器设备的所述第二计数器值或所述一个或多个参数值中的一个或多个中的至少一个来确定所述第二持续时间的装置。
17.根据权利要求15所述的数据存储***,所述数据存储***包括:
用于确定所述芯片启用设置时间参数的值是否满足所述芯片启用设置时间参数的默认值的装置;并且
响应于确定所述芯片启用设置时间参数的所述值不满足所述芯片启用设置时间参数的所述默认值:
用于将所述芯片启用设置时间参数的所述值减少所述第二持续时间的装置。
18.根据权利要求14所述的数据存储***,所述数据存储***包括:
用于确定对所述一个或多个非易失性存储器设备的第二非易失性存储器设备的命令是否被删除的装置;并且
响应于确定对所述第二非易失性存储器设备的所述命令确定要被删除:
用于基于所述第二非易失性存储器设备的第三计数器值和一个或多个参数值中的至少一个,将用于所述第二非易失性存储器设备的芯片启用设置时间参数的值增加第三持续时间的装置,其中所述第三持续时间不同于所述第一持续时间,并且所述第三计数器值指示对所述第二非易失性存储器设备的被删除的命令的数量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/259,828 | 2019-01-28 | ||
US16/259,828 US10747454B1 (en) | 2019-01-28 | 2019-01-28 | Data storage systems and methods for self adaptive chip-enable setup time |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111488120A CN111488120A (zh) | 2020-08-04 |
CN111488120B true CN111488120B (zh) | 2023-06-27 |
Family
ID=71524158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911278307.7A Active CN111488120B (zh) | 2019-01-28 | 2019-12-12 | 用于自适应芯片启用设置时间的数据存储***和方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10747454B1 (zh) |
CN (1) | CN111488120B (zh) |
DE (1) | DE102019133027A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835440B (zh) * | 2020-09-10 | 2021-03-23 | 翱捷科技(深圳)有限公司 | 一种芯片射频信号延时测量参数的自动校准方法及*** |
US11977749B2 (en) * | 2022-03-30 | 2024-05-07 | Micron Technology, Inc. | Alignment of activation periods |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7836230B1 (en) * | 2007-02-14 | 2010-11-16 | Marvell International Ltd. | Managing multiple host requests in queued commands that corresponds to receipt of stored acknowledgement commands from the host |
CN104731757A (zh) * | 2013-12-20 | 2015-06-24 | 国际商业机器公司 | 用于基于已删除命令确定命令速率的***和方法 |
CN107168884A (zh) * | 2016-03-08 | 2017-09-15 | 东芝存储器株式会社 | 存储***、信息处理***及非易失性存储器的控制方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6802581B2 (en) * | 2002-07-30 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Method, program product and system for ink management control |
KR101501102B1 (ko) * | 2011-02-01 | 2015-03-10 | 삼성전자 주식회사 | 화상형성장치 및 그 제어방법 |
US10129356B2 (en) * | 2013-11-15 | 2018-11-13 | The Hong Kong University Of Science And Technology | Physical layer caching for flexible MIMO cooperation in wireless networks |
US10452468B2 (en) * | 2016-12-30 | 2019-10-22 | Western Digital Technologies, Inc. | Method and system for managing non-volatile memory |
-
2019
- 2019-01-28 US US16/259,828 patent/US10747454B1/en active Active
- 2019-12-04 DE DE102019133027.0A patent/DE102019133027A1/de active Pending
- 2019-12-12 CN CN201911278307.7A patent/CN111488120B/zh active Active
-
2020
- 2020-04-29 US US16/862,439 patent/US20200257463A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7836230B1 (en) * | 2007-02-14 | 2010-11-16 | Marvell International Ltd. | Managing multiple host requests in queued commands that corresponds to receipt of stored acknowledgement commands from the host |
CN104731757A (zh) * | 2013-12-20 | 2015-06-24 | 国际商业机器公司 | 用于基于已删除命令确定命令速率的***和方法 |
CN107168884A (zh) * | 2016-03-08 | 2017-09-15 | 东芝存储器株式会社 | 存储***、信息处理***及非易失性存储器的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US10747454B1 (en) | 2020-08-18 |
DE102019133027A1 (de) | 2020-07-30 |
US20200257463A1 (en) | 2020-08-13 |
CN111488120A (zh) | 2020-08-04 |
US20200241776A1 (en) | 2020-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110955385B (zh) | 用于改进的数据重定位的数据存储***和方法 | |
US20200350025A1 (en) | Data Storage Systems and Methods for Improved Recovery After a Write Abort Event | |
CN108958907B (zh) | 用于数据存储***的上下文感知动态命令调度 | |
KR102411329B1 (ko) | 디코딩 성공 추세에 기초한 조정가능한 판독 재시도 순서 | |
CN109933455B (zh) | 动态多级解码 | |
US9146691B2 (en) | Method for managing commands in command queue, memory control circuit unit and memory storage apparatus | |
KR102321947B1 (ko) | 데이터 저장 시스템 및 데이터 저장 시스템 성능, 용량 및/또는 동작 요건을 자율적으로 적응시키기 위한 방법 | |
US11093326B2 (en) | Dynamic multi-stage decoding | |
CN111427510B (zh) | 用于后台管理操作的优化调度的数据存储***和方法 | |
US20200310696A1 (en) | Multiple Sets of Trim Parameters | |
CN111488120B (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 |