[go: up one dir, main page]

CN110297596A - 具有宽工作温度范围的存储设备 - Google Patents

具有宽工作温度范围的存储设备 Download PDF

Info

Publication number
CN110297596A
CN110297596A CN201810236824.7A CN201810236824A CN110297596A CN 110297596 A CN110297596 A CN 110297596A CN 201810236824 A CN201810236824 A CN 201810236824A CN 110297596 A CN110297596 A CN 110297596A
Authority
CN
China
Prior art keywords
read
read command
data
operation parameter
read operation
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
Application number
CN201810236824.7A
Other languages
English (en)
Other versions
CN110297596B (zh
Inventor
路向峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Memblaze Technology Co Ltd
Original Assignee
Beijing Memblaze Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Memblaze Technology Co Ltd filed Critical Beijing Memblaze Technology Co Ltd
Priority to CN201810236824.7A priority Critical patent/CN110297596B/zh
Publication of CN110297596A publication Critical patent/CN110297596A/zh
Application granted granted Critical
Publication of CN110297596B publication Critical patent/CN110297596B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请提供具有宽工作温度范围的存储设备。存储设备处理读命令的方法包括:根据主机的读访问命令向非易失性存储器发出第一读命令;接收根据第一读命令读出的第一数据;若第一数据中存在不可纠正的错误,则确定读操作参数;向非易失性存储器发出第二读命令,第二读命令依赖于读操作参数,第二读命令与第一读命令访问相同的物理地址;接收根据第二读命令读出的第二数据,作为读访问命令的读出结果。

Description

具有宽工作温度范围的存储设备
技术领域
本申请涉及存储设备,尤其涉及具有宽工作温度范围的存储设备。
背景技术
图1展示了固态存储设备的框图。固态存储设备102同主机相耦合,用于为主机提供存储能力。主机同固态存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA(Serial Advanced Technology Attachment,串行高级技术附件)、SCSI(Small Computer System Interface,小型计算机系统接口)、SAS(Serial AttachedSCSI,串行连接SCSI)、IDE(Integrated Drive Electronics,集成驱动器电子)、USB(Universal Serial Bus,通用串行总线)、PCIE(Peripheral Component InterconnectExpress,PCIe,高速外围组件互联)、NVMe(NVM Express,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与固态存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个NVM芯片105以及DRAM(Dynamic Random Access Memory,动态随机访问存储器)110。
NAND闪存、相变存储器、FeRAM(Ferroelectric RAM,铁电存储器)、MRAM(MagneticRandom Access Memory,磁阻存储器)、RRAM(Resistive Random Access Memory,阻变存储器)等是常见的NVM。
接口103可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方式与主机交换数据。
控制部件104用于控制在接口103、NVM芯片105以及DRAM 110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件104可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件104可以是FPGA(Field-programmable gate array,现场可编程门阵列)、ASIC(Application SpecificIntegrated Circuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理IO(Input/Output)命令。控制部件104还可以耦合到DRAM 110,并可访问DRAM 110的数据。在DRAM可存储FTL表和/或缓存的IO命令的数据。
控制部件104包括闪存接口控制器(或称为介质接口控制器、闪存通道控制器),闪存接口控制器耦合到NVM芯片105,并以遵循NVM芯片105的接口协议的方式向NVM芯片105发出命令,以操作NVM芯片105,并接收从NVM芯片105输出的命令执行结果。已知的NVM芯片接口协议包括“Toggle”、“ONFI”等。
存储器目标(Target)是NAND闪存封装内的共享CE(Chip Enable,芯片使能)信号的一个或多个逻辑单元(LUN,Logic UNit)。NAND闪存封装内可包括一个或多个管芯(Die)。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面(Plane)。逻辑单元内的多个平面可以并行存取,而NAND闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。
存储介质上通常按页来存储和读取数据。而按块来擦除数据。块(也称物理块)包含多个页。存储介质上的页(称为物理页)具有固定的尺寸,例如17664字节。物理页也可以具有其他的尺寸。
在固态存储设备中,利用FTL(Flash Translation Layer,闪存转换层)来维护从逻辑地址到物理地址的映射信息。逻辑地址构成了操作系统等上层软件所感知到的固态存储设备的存储空间。物理地址是用于访问固态存储设备的物理存储单元的地址。在相关技术中还可利用中间地址形态实施地址映射。例如将逻辑地址映射为中间地址,进而将中间地址进一步映射为物理地址。
存储了从逻辑地址到物理地址的映射信息的表结构被称为FTL表。FTL表是固态存储设备中的重要元数据。通常FTL表的数据项记录了固态存储设备中以数据页为单位的地址映射关系。
固态存储设备中包括多个NVM芯片。每个NVM芯片包括一个或多个管芯(DIE)或逻辑单元(LUN)。管芯或逻辑单元之间可以并行响应读写操作。在同一管芯或逻辑单元上的多个读、写或擦除操作顺序执行。
大块包括来自多个逻辑单元(LUN)(也称为逻辑单元组)中的每个的物理块。每个逻辑单元可以为大块提供一个物理块。例如,在图2所示出的大块的示意图中,在每16个逻辑单元(LUN)上构造大块。每个大块包括16个分别来自16个逻辑单元(LUN)的物理块。在图2的例子中,大块0包括来自16个逻辑单元(LUN)中的每个逻辑单元的物理块0,而大块1包括来自每个逻辑单元(LUN)的物理块1。也可以以多种其他方式来构造大块。
例如,在大块中构造页条带,每个逻辑单元(LUN)内相同物理地址的物理页构成了“页条带”。图2中,物理页P0-0、物理页P0-1……与物理页P0-x构成了页条带0,其中,物理页P0-0、物理页P0-1……物理页P0-14用于存储用户数据,而物理页P0-x用于存储根据条带内的所有用户数据计算得到的校验数据。类似地,图2中,物理页P2-0、物理页P2-1……与物理页P2-x构成了页条带2。用于存储校验数据的物理页可以位于页条带中的任意位置。
在申请号为201710752321.0的中国专利申请(申请日2017年8月28日,发明名称,基于可变长大块的垃圾回收方法与装置)中提供了所包含的物理块数量可变的大块,将该中国专利申请的全文通过引用合并于此。
闪存通过在存储单元中保持电荷量来存储信息。存储单元中的电荷量决定了存储单元的读出电压。在读取闪存数据时,比较存储单元的读出电压与阈值电压来识别存储单元所存储的信息。相变存储器、阻变存储器、磁旋存储器、DRAM各自利用基于不同原理的存储单元来存储信息。
存储介质一般不是完全可靠的。由于存储单元的电荷量受存储单元的质量、寿命、时间等多种因素的影响,以及从多个存储单元到敏感放大器的信号传输路径的非均一性,导致从存储单元读取的数据同写入的数据存在偏差,无法正确体现原始向存储单元写入的信息。
现有技术中采用一些手段来预防或应对因存储单元的电荷量等因素的变化而导致读取的数据无法正确体现写入的数据的问题,例如,在美国专利US9070454B1中,根据存储单元的擦写次数、保持时间等因素计算阈值电压(从存储单元中读取数据或向存储单元中写入数据时使用的阈值电压或判决电压),并使用计算出的阈值电压向存储单元写入数据。阈值电压可包括用于读操作的读阈值与用于写操作的写阈值。
在闪存芯片中,通过为读操作指示不同的参数,来选择读操作时所使用的阈值电压。通过具有不同阈值电压的读操作,从存储单元读出的数据会有不同的结果。有些结果具有较低的比特错误率(Bit Error Ratio,错误比特与传输的总比特数的百分比),而有些结果具有较高的比特错误率。结合使用ECC(Error Correction Code,错误校正码)技术,具有较低的比特错误率的读取结果被ECC技术纠正的几率较高,从而通过尝试不同参数,来应对读操作中遇到的错误。参数可以合并在读操作中提供给闪存芯片,或者在闪存芯片中设置用于读操作的参数,而在闪存芯片处理读操作时,使用所设置的参数。
温度对NVM芯片的读写操作有影响。美国专利申请US2015/0092488A1公开了根据读数据时的温度选择对应的读操作参数的方案。
发明内容
存储设备应用于多种工作环境,诸如用于数据中心的存储设备的工作环境。一般的环境温度在20~80摄氏度,而用于车辆、工厂、户外环境的存储设备要承受更宽的环境温度变化,例如,-40~85摄氏度。在这种宽工作温度范围下,由于温度对NVM芯片的读写操作的影响,产生了更高的比特错误率。因此,需要解决在宽工作环境温度下,因环境温度变化产生的从NVM芯片读出数据的高错误比特率带来的影响。
本申请的目的在于提供具有宽工作温度范围的存储设备,以补偿温度变化对NVM芯片的比特错误率的影响,提高了存储设备对环境温度变化的适应能力,使得存储设备可在宽温度范围下正常工作。
根据本申请的第一方面,提供了根据本申请第一方面的第一读命令处理方法,包括如下步骤:根据主机的读访问命令向非易失性存储器发出第一读命令;接收根据第一读命令读出的第一数据;若第一数据中存在不可纠正的错误,则确定读操作参数;向非易失性存储器发出第二读命令,第二读命令依赖于读操作参数,第二读命令与第一读命令访问相同的物理地址;接收根据第二读命令读出的第二数据,作为读访问命令的读出结果。
根据本申请的第二方面,提供了根据本申请第二方面的第一读命令处理方法,包括如下步骤:根据主机的读访问命令向非易失性存储器发出第一读命令;确定同第一读命令中指示的待读取数据所属的存储单元对应的读操作参数;使用读操作参数从非易失性存储器中读取第一数据。
根据本申请的第二方面的第一读命令处理方法,提供了根据本申请第二方面的第二读命令处理方法,其中,若第一数据中存在不可纠正的错误,则通过读取大块的页条带来恢复数据。
根据本申请的第二方面的第一读命令处理方法,提供了根据本申请第三方面的第三读命令处理方法,其中,若第一数据中存在不可纠正的错误,则确定新的读操作参数,向非易失性存储器发出第二读命令,第二读命令依赖于新的读操作参数,第二读命令与第一读命令访问相同的物理地址;接收根据第二读命令读出的第二数据,作为读访问命令的读出结果。
根据本申请的第二方面的第一至第三中任一项的读命令处理方法,提供了根据本申请第二方面的第四读命令处理方法,其中,根据第一读命令中指示的待读取数据所属的存储单元被写入时的环境温度和/或当前环境温度确定读操作参数。
根据本申请的第二方面的第四读命令处理方法,提供了根据本申请第二方面的第五读命令处理方法,其中,第一环境温度和当前环境温度分别为存储设备所在环境的温度。
根据本申请的第二方面的第四或五读命令处理方法,提供了根据本申请第二方面的第六读命令处理方法,其中,第一环境温度记录在存储单元的元数据中。
根据本申请的第二方面的第六读命令处理方法,提供了根据本申请第二方面的第七读命令处理方法,其中,还包括:向存储单元发出第三读命令,以获取第一环境温度。
根据本申请的第二方面的第六或七读命令处理方法,提供了根据本申请第二方面的第八读命令处理方法,其中,元数据的副本被存储在存储设备的内存中,从存储设备的内存读取第一环境温度。
根据本申请的第二方面的第四读命令处理方法,提供了根据本申请第二方面的第九读命令处理方法,其中,通过访问被布置在存储设备中的温度传感器获取当前环境温度,或者通过同存储设备耦合的主机获取当前环境温度。
根据本申请的第二方面的第四至第九中任一项的读命令处理方法,提供了根据本申请第二方面的第十读命令处理方法,其中,根据第一环境温度与当前环境温度的差确定读操作参数。
根据本申请的第二方面的第十读命令处理方法,提供了根据本申请第二方面的第十一读命令处理方法,其中,通过访问第一查找表确定读操作参数,第一查找表记录了第一环境温度和当前环境温度的差值与读操作参数之间的对应关系。
根据本申请的第二方面的第四至第九中任一项的读命令处理方法,提供了根据本申请第二方面的第十二读命令处理方法,其中,用当前环境温度索引第一环境温度的多个第二查找表,每个第二查找表对应第一环境温度的取值或取值范围,第二查找表中记录同多个当前环境温度对应的读操作参数。
根据本申请的第二方面的第四至第九中任一项的读命令处理方法,提供了根据本申请第二方面的第十三读命令处理方法,其中,用第一环境温度与当前环境温度的差值索引第一环境温度的多个第三查找表,每个第三查找表对应第一环境温度的取值或取值范围,第三查找表中记录同第一环境温度与当前环境温度的多个差值对应的读操作参数。
根据本申请的第二方面的第四至第九中任一项的读命令处理方法,提供了根据本申请第二方面的第十四读命令处理方法,其中,用第一环境温度索引当前环境温度的多个第四查找表,每个第四查找表对应当前环境温度的取值或取值范围,第四查找表中记录同多个第一环境温度对应的读操作参数。
根据本申请的第二方面的第四至第九中任一项的读命令处理方法,提供了根据本申请第二方面的第十五读命令处理方法,其中,用第一环境温度与当前环境温度的差值索引当前环境温度的多个第五查找表,每个第五查找表对应当前环境温度的取值或取值范围,第五查找表中记录同第一环境温度与当前环境温度的多个差值对应的读操作参数。
根据本申请的第二方面的第十二至第十五中任一项的读命令处理方法,提供了根据本申请第二方面的第十六读命令处理方法,其中,第一环境温度或当前环境温度的多个查找表副本被存储在存储器中,通过访问存储器确定读操作参数。
根据本申请的第二方面的第四至第九中任一项的读命令处理方法,提供了根据本申请第二方面的第十七读命令处理方法,其中,根据第一环境温度、当前环境温度、第一数据所在的存储单元的被擦除次数、第一数据在大块上被保留的时间以及存储单元上一次被擦除后已被读取的次数中的一个或多个确定读操作参数。
根据本申请的第二方面的第四至第十七中任一项的读命令处理方法,提供了根据本申请第二方面的第十八读命令处理方法,其中,根据第一环境温度和当前环境温度获得读操作参数的序列;
按照序列中的各个读操作参数对应的读命令从非易失性存储器中读取多个第三数据,将不存在不可纠正错误的第三数据作为读访问命令的读出结果。
根据本申请的第二方面的第十八读命令处理方法,提供了根据本申请第二方面的第十九读命令处理方法,其中,还包括:将获取了第三数据的读命令对应的读操作参数,用于后续的读命令。
根据本申请的第二方面的第一至第三中任一项的读命令处理方法,提供了根据本申请第二方面的第二十读命令处理方法,其中,根据读参数表确定读操作参数,读参数表记录了存储设备所处的当前环境温度或当前环境温度范围下存储单元同读操作参数或读操作参数序列之间的对应关系。
根据本申请的第二方面的第二十读命令处理方法,提供了根据本申请第二方面的第二十一读命令处理方法,其中,依据存储单元被写入数据时的第一环境温度或第一环境温度范围、存储设备所处的当前环境温度或当前环境温度范围、存储单元被擦除的次数、存储单元所存储的数据被保存的时间以及存储单元被读取的次数中的一个或多个更新读参数表中的读操作参数或读操作参数序列。
根据本申请的第二方面的第二十读命令处理方法,提供了根据本申请第二方面的第二十二读命令处理方法,其中,若存储设备所处的当前环境温度的变化超过阈值,则根据变化后的当前环境温度与各个存储单元的元数据中记录的第一环境温度更新读参数表。
根据本申请的第二方面的第二十至第二十二中任一项的读命令处理方法,提供了根据本申请第二方面的第二十三读命令处理方法,其中,读参数表只记录同被写入了数据的存储单元对应的条目。
根据本申请的第二方面的第二十三读命令处理方法,提供了根据本申请第二方面的第二十四读命令处理方法,其中,响应于被写入了数据的存储单元被擦除,删除读参数表中同被擦除存储单元对应的记录。
根据本申请的第三方面,提供了根据本申请第三方面的第一存储设备,包括控制部件与非易失性存储器芯片,控制部件用于执行上述读命令处理方法。
本申请实现的有益效果如下:
根据本申请的实施例,存储设备根据大块或物理块被写入数据时的环境温度T1与大块或物理块被读出数据时的环境温度T2来选择最优读参数,以补偿温度变化对NVM芯片的比特错误率的影响,提高了存储设备对环境温度变化的适应能力,使得存储设备可在宽温度范围下正常工作。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域技术人员来讲,还可以根据这些附图获得其他的附图。
图1展示了固态存储设备的框图;
图2为大块的示意图;
图3展示了根据本申请实施例的从NVM芯片读取数据的流程图;
图4展示了根据本发明实施例的读参数表。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
存储设备中的大块具有多种状态,例如,空闲状态、活动状态、已写入状态和/或失效状态。处于空闲状态的大块的各个物理块都已被擦除且未被写入数据。处于活动状态的大块是当前被用于承载待写入数据的大块。处于已写入状态的大块是已被写满数据的大块,其不再被写入数据(除非状态发生改变),但被用于响应读操作。处于失效状态的大块是例如因其包含了过多的不可用物理块而不再被使用的大块。
获取空闲大块用于承载待写入存储设备的数据,并将所获取的大块的状态由空闲状态变更为活动状态。还在被获取的空闲大块的指定位置写入元数据。此时还获取存储设备所处环境的温度。例如,通过布置在存储设备上的温度传感器获取环境温度,或者通过同存储设备相耦合的主机或网络获取环境温度。在元数据中记录大块进入活动状态时获取的环境温度(记为T1)。可选地,元数据中还记录大块所包括的各个物理块的地址、大块所采用的数据保护方式、大块被擦除的次数以及大块被读取的次数等。
虽然大块中包含多个物理块,根据本申请的实施例,在大块中仅记录一份环境温度信息,以减少对大块存储空间的占用。一般地,活动状态的大块中的各个物理块被写入数据的时间彼此临近,而温度在短时间内不会剧烈变化,从而大块中记录的一份温度信息能大体上代表大块的各个物理块被写入数据时的环境温度。
图3展示了根据本申请实施例的从NVM芯片读取数据的流程图。
响应于主机向存储设备发起读访问命令,向NVM芯片发出读命令(310)。其中,读命令指示待读取数据的物理地址。通常情况下,使用具有默认的读操作参数的读命令。可选地,在步骤310,附加地确定读操作参数,并在发出的读命令中使用所确定的读操作参数。可选地,根据读命令中指示的待读取数据被写入时的环境温度和/或数据被读出时的环境温度确定读操作参数。
存储设备对从NVM芯片读出的数据进行错误校验(320)。
若读出的数据中存在不可纠正的错误(例如,读出数据中的错误比特数量超过了错误校正引擎的纠错能力)(320),则获取读命令访问的存储单元所记录的温度T1(330)。该存储单元为大块或物理块。温度T1指示了待读取的数据被写入大块时(例如从空闲状态变为活动状态)存储设备的环境温度。例如,温度T1是在大块或物理块被分配使用时写入大块或物理块的元数据的环境温度。可选地,存储设备将所有大块或物理块(或所有被写入了数据的大块或物理块)的元数据在内存中保留副本,从而可快速获取各大块或物理块的元数据。依然可选地,为获取环境温度T1,存储设备向大块或物理块发出额外的读命令以读取其元数据中记录的环境温度T1。
存储设备还获取所处环境的当前环境温度T2(340)。温度T2指示了待读取数据被读出时存储设备的环境温度。例如,通过访问被布置在存储设备中的温度传感器获取当前环境温度,或者通过同存储设备耦合的主机获取当前环境温度。
根据温度T1与温度T2,选择适合于温度T1与温度T2的读操作参数,向步骤310中的读命令访问的相同物理地址再次发出读命令以读取数据,将该读出结果作为读访问命令的结果,其中该再次发出的读命令使用根据温度T1与温度T2获得的读操作参数(350)。可以理解地,对利用再次发出的读命令从NVM芯片读出的数据进行错误校验。若通过错误校验后的读出结果作为读命令访问的结果。
在一个例子中,根据温度T1与温度T2的差,选择读操作参数,以补偿读写操作发生时的环境温度变化所引入的比特错误率。例如,通过在实验室中测量写操作与读操作发生时的环境温度差的多种取值情况下,对应于每种或每组取值的读操作参数,生成记录了温度T1与温度T2的差与对应的最优读操作参数的查找表。在步骤350中,存储设备根据温度T1与温度T2的差访问查找表以获取最优的读操作参数。
在又一个例子中,根据温度T1的值,以及温度T2的值,选择读操作参数。例如,存储设备记录多个查找表,每个查找表对应于温度T1的每个或每组取值,查找表中记录同多个当前环境温度T2对应的读操作参数,而用温度T2索引同温度T1对应的查找表,索引得到的查找表条目中记录了对应于温度T1与温度T2的最优读操作参数。通过在实验室中测量写操作与读操作发生时的环境温度T1与T2的多种取值情况下,对应于每对T1与T2取值的最优读操作参数,生成多个查找表。可选地,对于同温度T1对应的查找表,用温度T2与温度T1的差索引该查找表。依然可选地,将对应于温度T1的查找表的副本存储在诸如高速缓存的存储器中,通过访问该存储器确定读操作参数,以降低访问查找表的延迟。
在又一个例子中,存储设备记录多个查找表,每个查找表对应于温度T2的每个或每组取值,查找表中记录同多个温度T1对应的读操作参数,而用温度T1索引同温度T2对应的查找表,索引得到的查找表条目中记录了对应于温度T1与温度T2或T1和T2的差值的最优读操作参数。通过在实验室中测量写操作与读操作发生时的环境温度T1与T2的多种取值情况下,对应于每对T1与T2取值的最优读操作参数,生成多个查找表。存储设备工作期间,环境温度基本上不会发生突变,从而对应于温度T2的查找表可被应用于对多个大块或物理块的访问。可选地,对于同温度T2对应的查找表,用温度T2与温度T1的差索引该查找表。依然可选地,将对应于温度T2的查找表的副本存储在诸如高速缓存的存储器中,通过访问该存储器确定读操作参数,以降低访问查找表的延迟。
在依然又一个例子中,在步骤350,根据温度T1、温度T2、被读取的大块或物理块的被擦除次数、被读取数据在大块或物理块上被保留的时间与大块或物理块上一次被擦除后已被读取的次数中的一个或多个参数,获取对应的最优读操作参数。
在依然又一个例子中,步骤350所得到的是对应于温度T1与温度T2的优选读操作参数的序列。按序列提供的读操作参数的顺序,使用每个读操作参数向步骤310中读取的物理地址发出读命令以读取数据,直到读出的数据不存在不可纠正错误。将不存在不可纠正错误的读出数据进行错误校正后作为主机的读访问命令的读出结果。
返回参看图3,在步骤320,若读出结果不存在不可纠正错误,则对读命令的处理结束。
可选地,在步骤310,根据上面结合步骤330到步骤350所描述的方式附加地确定读操作参数,并在步骤310发出的读命令中使用所确定的读操作参数。
进一步地,记录步骤350所获取的最优读操作参数或读操作参数序列中使读出数据不存在不可纠正错误的读操作参数,用于后续读命令的读出数据遇到不可纠正错误时直接使用记录的最优读操作参数来读取数据,而无需再次执行步骤330到步骤350的寻找最优读操作参数的过程。例如,在步骤310,获取所记录的最优读操作参数或读操作参数序列中使读出数据不存在不可纠正错误的读操作参数,以作为附加地确定的读操作参数,并在步骤310发出的读命令中使用所确定的读操作参数。示例性地,存储设备将最优读操作参数记录在存储设备的内存或NVM芯片中。可选地,将所记录的最优读操作参数直接应用于后续的读命令(例如,在步骤310中应用所记录的最优读操作参数发出读命令)。
图4展示了根据本发明实施例的读参数表。在另一个例子中,读参数表的每个条目记录了同大块或物理块之一对应的最优读操作参数。例如,参看图4,用于大块1的最优读操作参数是Vth4,而用于大块2的最优读操作参数是Vth6。可选地,读参数表的每个条目记录最优读参数序列。
读参数表可选地是动态的,例如随着环境温度的变化而被更新。在一个实施方式中,读参数表对应于当前存储设备所处的环境温度(T2)或环境温度范围。可以理解地,当前环境温度一般不会剧烈的大幅度改变。存储设备从各个被写入数据的大块或物理块的元数据中获取其中记录的大块或物理块被写入数据时的温度T1,根据温度T1与温度T2,得到适用于各个大块或物理块的最优读操作参数或读操作参数序列,并记录在读参数表(图4)中。进一步地,还依据大块或物理块被擦除的次数、大块或物理块所存储的数据被保存的时间和/或大块或物理块被读取的次数等参数中的一个或多个更新读参数表条目中的最优读操作参数或读操作参数序列。在实验室中获取温度T1、温度T2、被读取的大块的被擦除次数、被读取数据在大块上被保留的时间与大块上一次被擦除后已被读取的次数中的一个或多个参数,同最优读参数的关系,存储设备根据上述一个或多个参数与这些参数同最优读参数的关系,在工作过程中更新读参数表。
响应于读操作,存储设备根据待读取的物理地址所属的大块或物理块,从读参数表中获取最优读操作参数或读操作参数序列,并使用获取的最优读操作参数或读操作参数序列从NVM芯片读取数据。进一步地,若用获取的最优读操作参数或读操作参数序列从NVM芯片读出的数据依然存在不可纠正错误,通过读取大块的页条带来尝试恢复数据。在例如中国专利申请2017107523210中提供了大块及其页条带的多种构造方式。
在有一个实施方式中,当存储设备所处的当前环境温度(T2)发生变化,或当前环境温度(T2)的变化超过阈值,存储设备根据变化后的当前环境温度(T2)与各个大块或物理块的元数据中记录的温度(T1)更新读参数表,从而在存储设备中仅维护同当前环境温度(T2)对应的一份读参数表,而无须维护对应于环境温度的多个取值的读参数表或查找表,降低了对存储器的占用。
可以理解地,读参数表中仅需记录同被写入了数据的大块或物理块对应的条目。响应于大块或物理块被擦除,删除读参数表中同被擦除大块或物理块对应的记录。
根据本申请的实施例,存储设备根据大块或物理块被写入数据时的环境温度T1与大块或物理块被读出数据时的环境温度T2来选择最优读参数,以补偿温度变化对NVM芯片的比特错误率的影响,提高了存储设备对环境温度变化的适应能力,使得存储设备可在宽温度范围下正常工作。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种读命令处理方法,其特征在于,包括如下步骤:
根据主机的读访问命令向非易失性存储器发出第一读命令;
接收根据所述第一读命令读出的第一数据;
若所述第一数据中存在不可纠正的错误,则确定读操作参数;
向所述非易失性存储器发出第二读命令,所述第二读命令依赖于所述读操作参数,所述第二读命令与所述第一读命令访问相同的物理地址;
接收根据所述第二读命令读出的第二数据,作为所述读访问命令的读出结果。
2.一种读命令处理方法,其特征在于,包括如下步骤:
根据主机的读访问命令向非易失性存储器发出第一读命令;
确定同所述第一读命令中指示的待读取数据所属的存储单元对应的读操作参数;
使用所述读操作参数从所述非易失性存储器中读取第一数据。
3.根据权利要求2所述的读命令处理方法,其特征在于,
若所述第一数据中存在不可纠正的错误,则确定新的读操作参数,向所述非易失性存储器发出第二读命令,所述第二读命令依赖于所述新的读操作参数,所述第二读命令与所述第一读命令访问相同的物理地址;
接收根据所述第二读命令读出的第二数据,作为所述读访问命令的读出结果。
4.根据权利要求1-3中任一项所述的读命令处理方法,其特征在于,根据所述第一读命令中指示的待读取数据所属的存储单元被写入时的环境温度和/或当前环境温度确定读操作参数。
5.根据权利要求4所述的读命令处理方法,其特征在于,根据所述第一环境温度与所述当前环境温度的差确定读操作参数。
6.根据权利要求4所述的读命令处理方法,其特征在于,用所述第一环境温度与所述当前环境温度的差值索引第一环境温度的多个第三查找表,每个所述第三查找表对应第一环境温度的取值或取值范围,所述第三查找表中记录同第一环境温度与当前环境温度的多个差值对应的读操作参数。
7.根据权利要求4-6中任一项所述的读命令处理方法,其特征在于,
根据所述第一环境温度和所述当前环境温度获得读操作参数的序列;
按照所述序列中的各个读操作参数对应的读命令从所述非易失性存储器中读取多个第三数据,将不存在不可纠正错误的第三数据作为所述读访问命令的读出结果。
8.根据权利要求1-3中任一项所述的读命令处理方法,其特征在于,根据读参数表确定所述读操作参数,所述读参数表记录了存储设备所处的当前环境温度或当前环境温度范围下存储单元同读操作参数或读操作参数序列之间的对应关系。
9.根据权利要求8所述的读命令处理方法,其特征在于,依据存储单元被写入数据时的第一环境温度或第一环境温度范围、存储设备所处的当前环境温度或当前环境温度范围、存储单元被擦除的次数、存储单元所存储的数据被保存的时间以及存储单元被读取的次数中的一个或多个更新读参数表中的读操作参数或读操作参数序列。
10.一种存储设备,包括控制部件与非易失性存储器芯片,所述控制部件用于执行根据权利要求1-9所述的读命令处理方法。
CN201810236824.7A 2018-03-21 2018-03-21 具有宽工作温度范围的存储设备 Active CN110297596B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810236824.7A CN110297596B (zh) 2018-03-21 2018-03-21 具有宽工作温度范围的存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810236824.7A CN110297596B (zh) 2018-03-21 2018-03-21 具有宽工作温度范围的存储设备

Publications (2)

Publication Number Publication Date
CN110297596A true CN110297596A (zh) 2019-10-01
CN110297596B CN110297596B (zh) 2024-09-03

Family

ID=68025353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810236824.7A Active CN110297596B (zh) 2018-03-21 2018-03-21 具有宽工作温度范围的存储设备

Country Status (1)

Country Link
CN (1) CN110297596B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113467704A (zh) * 2020-03-31 2021-10-01 西部数据技术公司 通过智能阈值检测的命令优化

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1146037A (zh) * 1995-07-10 1997-03-26 富士通株式会社 支持直接重写操作和擦后写操作的磁光盘驱动器
CN1273177A (zh) * 1999-04-27 2000-11-15 佳能株式会社 墨盒、墨盒的阀机构和具有墨盒的喷墨头盒及喷墨记录装置
CN101673581A (zh) * 2008-06-13 2010-03-17 三星电子株式会社 存取半导体存储设备的存储系统和方法
CN105023609A (zh) * 2014-04-21 2015-11-04 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器储存装置
US20160117216A1 (en) * 2014-10-24 2016-04-28 Micron Technology, Inc. Temperature related error management
CN106448737A (zh) * 2016-09-30 2017-02-22 北京忆芯科技有限公司 读取闪存数据的方法、装置以及固态驱动器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1146037A (zh) * 1995-07-10 1997-03-26 富士通株式会社 支持直接重写操作和擦后写操作的磁光盘驱动器
CN1273177A (zh) * 1999-04-27 2000-11-15 佳能株式会社 墨盒、墨盒的阀机构和具有墨盒的喷墨头盒及喷墨记录装置
CN101673581A (zh) * 2008-06-13 2010-03-17 三星电子株式会社 存取半导体存储设备的存储系统和方法
CN105023609A (zh) * 2014-04-21 2015-11-04 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器储存装置
US20160117216A1 (en) * 2014-10-24 2016-04-28 Micron Technology, Inc. Temperature related error management
CN106448737A (zh) * 2016-09-30 2017-02-22 北京忆芯科技有限公司 读取闪存数据的方法、装置以及固态驱动器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113467704A (zh) * 2020-03-31 2021-10-01 西部数据技术公司 通过智能阈值检测的命令优化

Also Published As

Publication number Publication date
CN110297596B (zh) 2024-09-03

Similar Documents

Publication Publication Date Title
US20210182166A1 (en) Zoned namespace management of non-volatile storage devices
CN113297096B (zh) 用于固态存储装置服务质量的可变读取扫描
CN106448737B (zh) 读取闪存数据的方法、装置以及固态驱动器
US9298534B2 (en) Memory system and constructing method of logical block
US20130151759A1 (en) Storage device and operating method eliminating duplicate data storage
TWI623878B (zh) 資料讀取方法以及儲存控制器
TWI423022B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
US9442834B2 (en) Data management method, memory controller and memory storage device
TWI420308B (zh) 區塊管理方法、記憶體控制器與記憶體儲存裝置
CN113076218B (zh) Nvm芯片读数据错误快速处理方法及其控制器
US8037236B2 (en) Flash memory writing method and storage system and controller using the same
US20230266884A1 (en) Operating method for storage controller and storage system including same
CN104794063A (zh) 一种具备电阻式存储器的固态储存装置的控制方法
CN109240937A (zh) 数据存储装置及其操作方法
CN108614668A (zh) 基于kv模型的数据访问方法与固态存储设备
KR20230142795A (ko) Zns 디바이스들에서의 상이한 기입 우선순위화
CN110120234A (zh) 固态存储设备及其最优读出阈值电压的搜索方法
CN109815157A (zh) 编程命令处理方法与装置
TWI533309B (zh) 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元
CN110297596A (zh) 具有宽工作温度范围的存储设备
KR20190095825A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN112181274B (zh) 提升存储设备性能稳定性的大块的组织方法及其存储设备
CN109783404A (zh) 具有非对称通道的固态存储设备
CN208569620U (zh) 具有nid池的存储设备
CN108614671A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100192 room A302, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing

Applicant after: Beijing yihengchuangyuan Technology Co.,Ltd.

Address before: 100192 room A302, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing

Applicant before: BEIJING MEMBLAZE TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant