CN117480557A - 数据读取方法、控制器和存储系统 - Google Patents
数据读取方法、控制器和存储系统 Download PDFInfo
- Publication number
- CN117480557A CN117480557A CN202180099387.9A CN202180099387A CN117480557A CN 117480557 A CN117480557 A CN 117480557A CN 202180099387 A CN202180099387 A CN 202180099387A CN 117480557 A CN117480557 A CN 117480557A
- Authority
- CN
- China
- Prior art keywords
- storage area
- controller
- dimension parameter
- read voltage
- storage
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000013528 artificial neural network Methods 0.000 claims abstract description 22
- 230000014759 maintenance of location Effects 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 10
- 238000012937 correction Methods 0.000 claims description 10
- 238000012549 training Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 239000008187 granular material Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008713 feedback mechanism Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本申请提供一种数据读取方法、控制器和存储系统,能够提高读取数据的可靠性,从而降低读取数据的时延。该方法用于控制器,该控制器与第一存储阵列连接,该方法包括:该控制器获取当前该第一存储阵列中的第一存储区域的时间维度参数和该第一存储区域的空间维度参数,该时间维度参数包括数据保留时间、读干扰和擦除次数中的至少一项,该第一存储区域的空间维度参数用于指示该第一存储区域在该第一存储阵列中的物理位置;该控制器基于该第一存储区域的时间维度参数和该第一存储区域的空间维度参数,利用神经网络预测该第一存储区域的至少一个读电压的档位;该控制器基于该至少一个读电压的档位,对该第一存储区域进行数据读取。
Description
本申请涉及存储技术领域,尤其涉及一种数据读取方法、控制器和存储系统。
存储介质分为易失性存储介质和非易失性存储介质。由于非易失性存储介质,如NAND闪存(Flash),能够在断电情况下保持所存储的数据,因此,在各种电子设备中得到广泛使用。
为了保证能够有效从非易失性存储介质的存储区域中读取数据,控制器通常需要预先确定该存储区域的读电压,并利用该读电压来读数据。
然而,由于非易失性存储介质是以存储电荷的形式来表示数据的,各种内外部条件的变化,如温度、数据保留时间、读操作次数、擦写次数等条件的变化温度、时间、数据保留时间、读操作次数、读干扰大小等条件的变化,会导致存储电荷数量的变化,如果这一变化累计到一定程度,会导致读电压偏移。因此,如果采用默认的读电压从该存储区域中读取数据,会降低读取数据的可靠性,从而增大读取数据的时延。
发明内容
本申请提供一种数据读取方法、控制器和存储系统,能够提高读取数据的可靠性,从而降低读取数据的时延。
第一方面,本申请提供一种数据读取方法,该方法用于控制器,该控制器与第一存储阵列连接,该方法包括:该控制器获取当前该第一存储阵列中的第一存储区域的时间维度参数和该第一存储区域的空间维度参数,该时间维度参数包括数据保留时间、读干扰和擦除次数中的至少一项,该第一存储区域的空间维度参数用于指示该第一存储区域在该第一存储阵列中的物理位置;该控制器基于该第一存储区域的时间维度参数和该第一存储区域的空间维度参数,利用神经网络预测该第一存储区域的至少一个读电压的档位;该控制器基于该至少一个读电压的档位,对该第一存储区域进行数据读取。
采用本申请提供的数据读取方法,同时考虑该第一存储区域当前的时间维度参数和空间维度参数,对该第一存储区域的读电压进行预测,能够提高该读电压的预测准确度,进一步地,能够提高读取数据的可靠性,从而降低读取数据的时延。
在一种可能的实现方式中,该控制器基于该第一存储区域的时间维度参数和该第一存储区域的空间维度参数,利用神经网络预测该第一存储区域的至少一个读电压的档位,包括:该控制器将该第一存储区域的时间维度参数和该第一存储区域的空间维度参数输入预设的读电压预测模型,输出该至少一个读电压的档位,其中,该读电压预测模型是利用该神经网络训练得到的,该读电压预测模型用于指示时间维度参数、空间维度参数和读电压的档位之间的映射关系。
在一种可能的实现方式中,该控制器还与第二存储阵列连接,在该控制器将该第一存储区域的时间维度参数和该第一存储区域的空间维度参数输入预设的读电压预测模型,输出该至少一个读电压的档位之前,该方法还包括:该控制器基于该第二存储阵列中的第二存储区域的多个参数组和该多个参数组中的每个参数组对应的读电压的档位,通过该神经网络进行训练,得到该读电压预测模型,该第二存储区域与该第一存储区域的规模相同,该每个参数组包括该第二存储区域的时间维度参数和该第二存储区域的空间维度参数,该第二存储区域的空间维度参数用于指示该第二存储区域在该第二存储阵列中的物理位置,其中,不同参数组中的时间维度参数和空间维度参数中的至少一项不同。
在一种可能的实现方式中,该方法还包括:该控制器对读取到的原始数据进行纠错译码,得到译码数据;该控制器基于该原始数据与该译码数据之间翻转比特的数量,对该读电压预测模型进行校准。
采用本申请提供的数据读取方法,对从第一存储区域中读取的原始数据进行纠错译码,得到译码数据,能够提高读取数据的可靠性。
在一种可能的实现方式中,该控制器基于该原始数据与该译码数据之间翻转比特的数量,对该读电压预测模型进行校准,包括:当该翻转比特的数量大于预设的数量阈值时,该控制器对该读电压预测模型进行校准。
由于用户在日常生活中对存储介质的使用行为多种多样,而训练神经网络所使用的样本数据无法覆盖所有的使用场景,因此,训练得到的读电压预测模型的泛化能力较差。本申请提供的数据读取方法,在该读电压预测模型的误差大于可接受的误差范围时,通过引入反馈机制,对该读电压预测模型进行校准,以提高读电压的预测准确性。
在一种可能的实现方式中,该第一存储区域包括至少一个存储区域,该存储区域包括颗粒Device、逻辑单元Die、面Plane、块Block、超级块Super Block、子块Sub-Block、字线WL、页面page或扇区Sector。
在一种可能的实现方式中,该控制器还与主机连接,在该控制器获取当前该第一存储阵列中的第一存储区域的时间维度参数和该第一存储区域的空间维度参数之前,该方法还包括:该控制器接收该主机发送的读请求,该读请求用于请求对该第一存储区域进行数据读取;该控制器获取当前该第一存储阵列中的第一存储区域的时间维度参数和该第一存储区域的空间维度参数,包括:该控制器基于该读请求,获取该第一存储区域的时间维度参数和该第一存储区域的空间维度参数。
第二方面,本申请还提供一种存储系统,该存储系统包括:控制器和第一存储阵列,该控制器与该第一存储阵列连接;该控制器用于获取当前该第一存储阵列中的第一存储区域的时间维度参数和该第一存储区域的空间维度参数,该时间维度参数包括数据保留时间、读干扰和擦除次数中的至少一项,该第一存储区域的空间维度参数用于指示该第一存储区域在该第一存储阵列中的物理位置;基于该第一存储区域的时间维度参数和该第一存储区域的空间维度参数,利用神经网络预测该第一存储区域的至少一个读电压的档位;基于该至少一个读电压的档位,对该第一存储区域进行数据读取。
在一种可能的实现方式中,该控制器具体用于该控制器将该第一存储区域的时间维度参数和该第一存储区域的空间维度参数输入预设的读电压预测模型,输出该至少一个读电压的档位,其中,该读电压预测模型是利用该神经网络训练得到的,该读电压预测模型用 于指示时间维度参数、空间维度参数和读电压的档位之间的映射关系。
在一种可能的实现方式中,该存储系统还包括第二存储阵列,该控制器与该第二存储阵列连接;该控制器还用于在将该第一存储区域的时间维度参数和该第一存储区域的空间维度参数输入预设的读电压预测模型,输出该至少一个读电压的档位之前,基于该第二存储阵列中的第二存储区域的多个参数组和该多个参数组中的每个参数组对应的读电压的档位,通过该神经网络进行训练,得到该读电压预测模型,该第二存储区域与该第一存储区域的规模相同,该每个参数组包括该第二存储区域的时间维度参数和该第二存储区域的空间维度参数,该第二存储区域的空间维度参数用于指示该第二存储区域在该第二存储阵列中的物理位置,其中,不同参数组中的时间维度参数和空间维度参数中的至少一项不同。
在一种可能的实现方式中,该控制器还用于对读取到的原始数据进行纠错译码,得到译码数据;基于该原始数据与该译码数据之间翻转比特的数量,对该读电压预测模型进行校准。
在一种可能的实现方式中,该控制器具体用于当该翻转比特的数量大于预设的数量阈值时,对该读电压预测模型进行校准。
在一种可能的实现方式中,该第一存储区域包括至少一个存储区域,该存储区域包括颗粒Device、逻辑单元Die、面Plane、块Block、超级块Super Block、子块Sub-Block、字线WL、页面page或扇区Sector。
在一种可能的实现方式中,该存储系统还包括主机,该主机与该控制器连接;该主机用于在该控制器获取该第一存储区域的时间维度参数和该第一存储区域的空间维度参数之前,向该控制器发送读请求,该读请求用于请求对该第一存储区域进行数据读取;该控制器具体用于基于该读请求,获取该第一存储区域的时间维度参数和该第一存储区域的空间维度参数。
第三方面,本申请还提供一种控制器,该控制器包括:处理器和通信接口,该处理器和该通信接口耦合,该通信接口用于为该处理器提供信息和/或数据,该处理器用于运行计算机程序指令以执行上述第一方面及其各种可能的实现方式中所提供的数据读取方法。
第四方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得该计算机执行上述第一方面或其任一种可能的实现方式所提供的数据读取方法。
第五方面,本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得该计算机执行上述第一方面或其任一种可能的实现方式所提供的数据读取方法。
可以理解地,上述提供的任一种控制器、存储系统、计算机存储介质或者计算机程序产品均用于执行上文所提供的对应的数据读取方法,因此,其所能达到的有益效果可参考上文所提供的对应的数据读取方法中的有益效果,此处不再赘述。
图1是本申请实施例提供的存储介质的内存层次结构的示意图;
图2是本申请实施例提供的存储系统的示意性框图;
图3是本申请实施例提供的存储系统的另一示意性框图;
图4是本申请实施例提供的数据读取方法100的示意性流程图;
图5是本申请实施例提供的第一存储区域的读电压示意图;
图6是本申请实施例提供的数据读取流程的示意图;
图7是本申请实施例提供的控制器200的示意性框图;
图8是本申请实施例提供的控制器300的示意性框图。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参考图1,以2D的存储介质为例,图1示出了本申请实施例提供的存储介质的内部层次结构的示意图。如图1中的(a)所示,扇区(Sector)可以包括多个闪存(Flash),同一个方向上的多个扇区可以组成页(Page),其中,页可以包括三种类型,即上页(Upper Page)、中页(Middle Page)和下页(Lower Page)。一个上页、一个中页和一个下页组成一个字线(Word Line,WL)。多个字线组成块(Block)。如图1中的(b)所示,多个块组成面(Plane),多个面可以组成逻辑单元(Die)。多个逻辑单元组成颗粒(Device)。一个存储介质中可以包括一个或多个颗粒。
可选地,在许多应用中控制器会将一些Block组成Super Block。Super Block在应用中的特征是内部的Block会被同时擦除、或同时被编程,Super Block内部的Block的使用条件的状态是一致或接近的,比如,擦写次数(Program/Erase Cycles,PE)以及数据保留时间(Retention Time)等。
可选地,随着存储技术的不断发展,存储介质逐渐由2D发展为3D,在3D的存储介质中,多个字线组成子块(Sub-Block),多层子块组成块。
下面将继续介绍本申请提供的数据读取方法和控制器所应用的存储系统。
请参考图2,图2示出了本申请实施例所提供的存储系统的硬件架构图。如图2所示,该系统可以包括控制器和存储阵列,该控制器可以通过NFI与该存储阵列连接,该控制器可以对该存储阵列中的数据进行读写或擦除等操作。
可选地,图2中所述的存储系统还可以包括主机,该主机可以通过NVMe/SAS/PCIe等接口与该控制器连接,该主机可以通过该控制器读写或擦除该存储阵列中的数据。
示例的,该存储阵列可以为Flash阵列。
可选的,图3示出了本申请实施例所提供的存储系统的另一硬件架构图。如图3所示,该系统可以包括控制器和存储阵列,该控制器和该存储阵列封装为独立的芯片。
示例的,该芯片可应用于诸如手机、平板电脑、可穿戴设备等终端中。
可选地,图3中所示的存储系统还可以包括主机,该主机通过UFS/eMMC等接口与该控制器相连,并通过该接口对该存储阵列中的数据进行读写或擦除等操作。
上面结合图2和图3介绍了本申请实施例提供的存储系统,下面将进一步介绍用于上述存储系统的数据读取方法和控制器。
请参考图4,图4示出了本申请实施例提供的数据读取方法100的示意性流程图,该方法100可应用于上述图2或图3所示的存储系统中。如图4所示,该方法100可以包括以下步骤,需要说明的是,以下所列步骤可以以各种顺序执行和/或同时发生,不限于图4所示的执行顺序。
步骤101.控制器获取当前该第一存储阵列中的第一存储区域的时间维度参数和该第 一存储区域的空间维度参数,该时间维度参数包括数据保留时间、读干扰和擦除次数中的至少一项,该第一存储区域的空间维度参数用于指示该第一存储区域在该第一存储阵列中的物理位置。
也就是说,该控制器获取到的是该第一存储区域当前最新的时间维度参数和空间维度参数。
这里的时间维度参数可以包括数据保留时间、读干扰和擦除次数中的至少一项。
这里的第一存储阵列可以为图2或图3中的存储阵列。
这里的第一存储区域可以包括至少一个存储区域,其中,上述存储区域可以包括包括颗粒Device、逻辑单元Die、面Plane、块Block、超级块Super Block、子块Sub-Block、字线WL、页面page或扇区Sector中的至少一项。示例的,该第一存储区域可以包括一个或多个WL;或者可以包括一个或多个Sector。
示例的,该第一存储区域可以包括一个WL和一个WL;或者可以包括一个Page和一个WL。
可选地,该控制器可以在多种情况下获取该第一存储区域的时间维度参数和该第一存储区域的空间维度参数,本申请实施例对此不做限定。
在一种可能的实现方式中,该控制器可以接收主机发送的读请求,该读请求用于请求对该第一存储区域进行数据读取;该控制器基于该读请求,获取该第一存储区域的时间维度参数和该第一存储区域的空间维度参数。
在另一种可能的实现方式中,该控制器可以基于预设的读取周期,周期性获取该第一存储区域的时间维度参数和该第一存储区域的空间维度参数。
可选地,该控制器可以通过多种方式获取该第一存储区域的时间维度参数和该第一存储区域的空间维度参数。
在一种可能的实现方式中,该控制器可以基于对该第一存储区域的历史数据读取操作,确定该第一存储区域的时间维度参数和该第一存储区域的空间维度参数。
在另一种可能的实现方式中,该控制器可以接收技术人员输入的该第一存储区域的时间维度参数和该第一存储区域的空间维度参数。
步骤102.该控制器基于该第一存储区域的时间维度参数和该第一存储区域的空间维度参数,利用神经网络预测该第一存储区域的至少一个读电压的档位。
在一种可能的实现方式中,该控制器将该第一存储区域的时间维度参数和该第一存储区域的空间维度参数输入预设的读电压预测模型,输出该至少一个读电压的档位,其中,该读电压预测模型是利用该神经网络训练得到的,该读电压预测模型用于指示时间维度参数、空间维度参数和读电压的档位之间的映射关系。
可选地,在该控制器将该第一存储区域的时间维度参数和该第一存储区域的空间维度参数输入预设的读电压预测模型,输出该至少一个读电压的档位之前,该控制器可以先获取该读电压预测模型。
可选地,该控制器可以通过多种方式获取该读电压预测模型,本申请对此不做限定。
在一种可能的实现方式中,该控制器中可以预先配置该读电压预测模型。
在另一种可能的实现方式中,该控制器可以接收来自其他设备的该读电压预测模型。也就是说,该其它设备可以训练得到该读电压预测模型。
在又一种可能的实现方式中,该控制器可以利用神经网络训练得到该读电压预测模型。
示例的,该控制器可以基于该第二存储阵列中的第二存储区域的多个参数组和该多个参数组中的每个参数组对应的读电压的档位,通过该神经网络进行训练,得到该读电压预测模型,该第二存储区域与该第一存储区域的规模相同,该每个参数组包括该第二存储区域的时间维度参数和该第二存储区域的空间维度参数,该第二存储区域的空间维度参数用于指示该第二存储区域在该第二存储阵列中的物理位置,其中,不同参数组中的时间维度参数和空间维度参数中的至少一项不同。
这里的第二存储区域与第一存储区域的规模相同,可以包括该第二存储区域与该第一存储区域的组成结构相同。示例的,若该第一存储区域为1个block,则该第二存储区域为1个block。
可选地,该第二存储区域与该第一存储区域的物理特性可以相同,该物理特性可以包括几何尺寸、材质的电学特性、组合结构、以及内部的控制电路等。
可选地,该第一存储区域与该第二存储区域可以属于同一存储阵列(即该第一存储阵列与该第二存储阵列相同)或不同存储阵列(即该第一存储阵列与该第二存储阵列不同),本申请对此不做限定。
步骤103.该控制器基于所述至少一个读电压的档位,对所述第一存储区域进行数据读取。
需要说明的是,一个读电压可以包括至少一个档位,该至少一个档位与至少一个数值一一对应。因此,如果知道一个读电压的档位,就可以基于该读电压的档位以及上述对应关系,得到该读电压的具体数值。
可选地,该映射关系可以预设在该第一存储区域中,或预设在该控制器中,本申请对此不做限定。
需要说明的是,该第一存储区域可以被分为多个状态,其中,每一个状态的分布与该第一存储区域施加的读电压相关。
在一种可能的实现方式中,以该第一存储区域被分为8个状态为例。图5示出了本申请实施例提供的第一存储区域的读电压示意图。如图5所示,8个状态分别为图5中所示的111、110、100、000、010、011、001和101,8个状态可以存储3bits的数据(如图5中所示的最高有效位、中间有效位和最低有效位)。因此,需要通过7个读电压(如图5中所示的VA~VG)对该第一存储区域进行数据读取。
示例的,若控制器向该第一存储区域施加VC和VG这两个读电压的档位,则可读取最高有效位的数据;若控制器向该第一存储区域施加VB、VD和VF这三个读电压档位,则可读取中间有效位的数据;若控制器向该第一存储区域施加VA和VE两个读电压档位,则可读取最低有效位的数据。
示例的,以控制器向该第一存储区域施加VC和VG这两个读电压的档位为例,若该第一存储区域的电压小于VC或大于VG,则可以读取到最高有效位的数据“1”,若该第一存储区域的电压在VC与VG之间,则可以读取到最高有效位的数据“0”。
可选地,在步骤103之后,该方法100还包括:该控制器可以该控制器对读取到的原始数据进行纠错译码,得到译码数据;该控制器基于该原始数据与该译码数据之间翻转比 特的数量,对该读电压预测模型进行校准。
在一种可能的实现方式中,当该翻转比特的数量大于预设的数量阈值时,该控制器对该读电压预测模型进行校准。
需要说明的是,翻转比特的数量可以理解为原始数据和译码数据中不同比特的数量。翻转比特的数量可以表征读取的数据的准确度,而读电压预测模型预测的读电压的准确度,直接影响数据读取的准确度。因此,翻转比特的数量过多时,需要对该读电压预测模型进行校准。
示例的,以从第一存储区域中读取3bits为例,若该原始数据为010,译码数据为000,则可以确定中间有效位的数据发生了翻转,因此,翻转比特的数量为1。
可选地,当所述翻转比特的数量小于或等于该数量阈值时,所述控制器无需对所述读电压预测模型进行校准。
可选地,该控制器可以通过多种方式获得上述翻转比特的数量,本申请对此不做限定。
在一种可能的实现方式中,该控制器可以将该原始数据与该译码数据进行比对得到该翻转比特个数。
在另一种可能的实现方式中,上述纠错译码的输出结果可以包括该翻转比特的数量。
可选地,本申请对该读电压预测模型的校准方法不做限定,具体可以参考现有技术中的相关校准方法。示例的,可以采用读重试(read retry)的方式对该读电压预测模型进行校准。
需要说明的是,上述read retry的原理为:如果通过当前的读电压读取得到的目标数据,用纠错码无法恢复原始信息,则通过调整读电压,再次进行读取操作并用纠错码恢复原始信息的机制。
采用本申请提供的数据读取方法,同时考虑时间维度参数和空间维度参数对第一存储区域的读电压进行预测,能够提高该读电压的预测准确度,进一步地,能够提高基于该读电压读取的目标数据的可靠性,从而降低读取数据的时延。
此外,由于用户在日常生活中对存储介质的使用行为多种多样,而神经网络训练所使用的样本数据无法覆盖所有的使用场景,因此,训练得到的读电压预测模型的泛化能力较差。本申请提供的数据读取方法,在该读电压预测模型的误差大于可接受的误差范围时,通过引入反馈机制,对该读电压预测模型进行校准,以提高读电压的预测准确性。
示例的,图6示出了本申请实施例提供的数据读取流程的示意图。该数据读取流程可应用于上述图2或图3所示的存储系统中,示例的,该数据读取流程可以由存储系统中的控制器执行。如图6所示,该数据读取流程可以包括以下步骤,需要说明的是,以下所列步骤可以以各种顺序执行和/或同时发生,不限于图6所示的执行顺序。
(1)获取存储阵列中的第一存储区域当前的时间维度参数和空间维度参数。
(2)将该时间维度参数和该空间维度参数输入读电压预测模型,得到该第一存储区域的至少一个读电压的档位。
(3)将该时间维度参数和该空间维度参数保存至存储器。
(4)基于该至少一个读电压的档位,对该第一存储区域进行数据读取。
(5)对读取到的原始数据进行纠错译码,得到译码数据。
(6)基于翻转比特的数量,确定译码是否成功?若译码成功,则执行(7);若译码 失败,则执行(9)。
示例的,若翻转比特的数量小于或等于预设的数量阈值1时,确定译码成功;若翻转比特的数量大于该数量阈值1时,确定译码失败。
(7)输出译码数据。
(8)判断该翻转比特的数量是否大于预设的数量阈值2,该数量阈值1大于该数量阈值2。若该翻转比特的数量大于该数量阈值2,则执行(9);若该翻转比特的数量小于或等于该数量阈值2,则执行(7)。
(9)对该读电压预测模型进行校准,得到至少一个校准读电压的档位。
(10)将(6)中的译码结果以及(8)中的阈值判断结果进行或运算,得到运算结果。
示例的,若译码成功,则译码结果为0;若译码失败,则译码结果为1。
示例的,若翻转比特个数大于该数量阈值,则阈值判断结果为1;若翻转比特个数小于或等于该数量阈值,则阈值判断结果为0。
示例的,若译码结果为1或阈值判断结果为1,则运算结果为1;若译码结果为0,且阈值判断结果为0,则运算结果为0。
(11)向多路选择开关输入该运算结果。
(12)若该运算结果为“0”,则该多路选择开关选通“0”对应的开关,将读电压预测模型输出的该至少一个读电压的档位传输至存储器;若该运算结果为“1”,则该多路选择开关选通“1”对应的开关,将校准后得到的该至少一个校准读电压的档位传输至存储器。
(13)向该存储器的更新使能端口传输该运算结果。
(14)若该更新使能端口接收到的运算结果为“0”,则存储器不使能更新数据的功能;若该更新使能端口接收到的运算结果为“1”,则存储器使能更新数据的功能。
(15)该存储器向读电压预测模型更新所保存的读电压的档位、时间维度参数、空间维度的参数之间的对应关系等。
(16)该读电压预测模型基于该更新的对应关系进行循环迭代,以优化该读电压预测模型。
上述主要从各个设备之间交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,各个设备,例如控制器和存储阵列为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的设备及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对控制器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,本申请实施例提供了上述实施例中 所涉及的控制器的一种可能的结构示意图。
请参考图7,图7示出了本申请实施例提供的控制器200的示意性框图。如图7所示,控制器200可以包括:获得单元201和处理单元202。其中,获得单元201用于支持控制器200执行上述各方法实施例中获得各类数据(如时间维度参数、空间维度参数和读请求等)的步骤,处理单元202用于支持控制器200执行上述各方法实施例中与数据处理和读取操作相关的其它步骤。
需要说明的是,上述各单元之间的数据交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。在一个可选例子中,该控制器200可以为上述图4或图6提供的方法实施例中所述的控制器,该控制器200可以用于执行上述图4或图6中所述的数据读取方法中与控制器对应的各个流程和/或步骤,为避免重复,在此不再赘述。
请参见图8,图8示出了本申请实施例提供的控制器300的示意性框图,控制器300可以包括处理器301和通信接口302,处理器301和通信接口302耦合。
通信接口302,用于向处理器301输入信息和/或数据;处理器301运行计算机程序或指令,以使控制器300实现上述方法200实施例所描述的数据读取方法。
本申请实施例中的处理器301包括但不限于中央处理单元(Central Processing Unit,CPU)、通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)、分立门或者晶体管逻辑器件或分立硬件组件等。通用处理器可以是微处理器、微控制器或者是任何常规的处理器等。
例如,处理器301用于通过通信接口302获取当前第一存储阵列中的第一存储区域的时间维度参数和该第一存储区域的空间维度参数,该时间维度参数包括数据保留时间、读干扰和擦除次数中的至少一项,该第一存储区域的空间维度参数用于指示该第一存储区域在该第一存储阵列中的物理位置;该控制器基于该第一存储区域的时间维度参数和该第一存储区域的空间维度参数,利用神经网络预测该第一存储区域的至少一个读电压的档位;该控制器基于该至少一个读电压的档位,对该第一存储区域进行数据读取。在一个可选例子中,本领域技术人员可以理解,控制器300可以具体为上述图4或图6提供的方法实施例中所述的控制器,控制器300可以用于执行上述图4或图6中与控制器对应的各个流程和/或步骤,为避免重复,在此不再赘述。
可选地,控制器300还可以包括存储器303。
存储器303可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
具体地,存储器303用于存储控制器的程序代码和指令。可选地,存储器303还用于存储处理器301执行上述图4或图6提供的方法实施例过程中获得的信息和/或数据,如通过通信接口302获得的时间维度参数和空间维度参数。
可选地,存储器303可以为单独的器件或集成在处理器301中。
需要说明的是,图8仅仅示出了控制器300的简化设计。在实际应用中,控制器300还可以分别包含必要的其他元件,包含但不限于任意数量的通信接口、处理器、控制器、存储器等,而所有可以实现本申请的控制器300都在本申请的保护范围之内。
在一种可能的设计中,控制器300可以为芯片。可选地,该芯片还可以包括一个或多个存储器,用于存储计算机执行指令,当该芯片运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述数据读取方法。
可选地,该芯片可以为实现相关功能的现场可编程门阵列,专用集成芯片,系统芯片,中央处理器,网络处理器,数字信号处理电路,微控制器,还可以采用可编程控制器或其他集成芯片。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,实现上述方法实施例描述的数据读取方法。
本申请实施例还提供一种计算机程序产品,当该计算机程序产品在处理器上运行时,实现上述方法实施例描述的数据读取方法。
本申请实施例提供的控制器、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的数据读取方法,因此,其所能达到的有益效果可参考上文所提供的对应的数据读取方法中的有益效果,此处不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (17)
- 一种数据读取方法,其特征在于,所述方法用于控制器,所述控制器与第一存储阵列连接,所述方法包括:所述控制器获取当前所述第一存储阵列中的第一存储区域的时间维度参数和所述第一存储区域的空间维度参数,所述时间维度参数包括数据保留时间、读干扰和擦除次数中的至少一项,所述第一存储区域的空间维度参数用于指示所述第一存储区域在所述第一存储阵列中的物理位置;所述控制器基于所述第一存储区域的时间维度参数和所述第一存储区域的空间维度参数,利用神经网络预测所述第一存储区域的至少一个读电压的档位;所述控制器基于所述至少一个读电压的档位,对所述第一存储区域进行数据读取。
- 根据权利要求1所述的方法,其特征在于,所述控制器基于所述第一存储区域的时间维度参数和所述第一存储区域的空间维度参数,利用神经网络预测所述第一存储区域的至少一个读电压的档位,包括:所述控制器将所述第一存储区域的时间维度参数和所述第一存储区域的空间维度参数输入预设的读电压预测模型,输出所述至少一个读电压的档位,其中,所述读电压预测模型是通过所述神经网络训练得到的,所述读电压预测模型用于指示时间维度参数、空间维度参数和读电压的档位之间的映射关系。
- 根据权利要求2所述的方法,其特征在于,所述控制器还与第二存储阵列连接,在所述控制器将所述第一存储区域的时间维度参数和所述第一存储区域的空间维度参数输入预设的读电压预测模型,输出所述至少一个读电压的档位之前,所述方法还包括:所述控制器基于所述第二存储阵列中的第二存储区域的多个参数组和所述多个参数组中的每个参数组对应的读电压的档位,通过所述神经网络进行训练,得到所述读电压预测模型,所述第二存储区域与所述第一存储区域的规模相同,所述每个参数组包括所述第二存储区域的时间维度参数和所述第二存储区域的空间维度参数,所述第二存储区域的空间维度参数用于指示所述第二存储区域在所述第二存储阵列中的物理位置,其中,不同参数组中的时间维度参数和空间维度参数中的至少一项不同。
- 根据权利要求2或3所述的方法,其特征在于,所述方法还包括:所述控制器对读取到的原始数据进行纠错译码,得到译码数据;所述控制器基于所述原始数据与所述译码数据之间翻转比特的数量,对所述读电压预测模型进行校准。
- 根据权利要求4所述的方法,其特征在于,所述控制器基于所述原始数据与所述译码数据之间翻转比特的数量,对所述读电压预测模型进行校准,包括:当所述翻转比特的数量大于预设的数量阈值时,所述控制器对所述读电压预测模型进行校准。
- 根据权利要求1-5中任一项所述的方法,其特征在于,所述第一存储区域包括至少一个存储区域,所述存储区域包括颗粒Device、逻辑单元Die、面Plane、块Block、超级块Super Block、子块Sub-Block、字线WL、页面page或扇区Sector。
- 根据权利要求1-6中任一项所述的方法,其特征在于,所述控制器还与主机连接, 在所述控制器获取当前所述第一存储阵列中的第一存储区域的时间维度参数和所述第一存储区域的空间维度参数之前,所述方法还包括:所述控制器接收所述主机发送的读请求,所述读请求用于请求对所述第一存储区域进行数据读取;所述控制器获取当前所述第一存储阵列中的第一存储区域的时间维度参数和所述第一存储区域的空间维度参数,包括:所述控制器基于所述读请求,获取所述第一存储区域的时间维度参数和所述第一存储区域的空间维度参数。
- 一种存储系统,其特征在于,包括:控制器和第一存储阵列,所述控制器与所述第一存储阵列连接;所述控制器用于获取当前所述第一存储阵列中的第一存储区域的时间维度参数和所述第一存储区域的空间维度参数,所述时间维度参数包括数据保留时间、读干扰和擦除次数中的至少一项,所述第一存储区域的空间维度参数用于指示所述第一存储区域在所述第一存储阵列中的物理位置;基于所述第一存储区域的时间维度参数和所述第一存储区域的空间维度参数,利用神经网络预测所述第一存储区域的至少一个读电压的档位;基于所述至少一个读电压的档位,对所述第一存储区域进行数据读取。
- 根据权利要求8所述的系统,其特征在于,所述控制器具体用于所述控制器将所述第一存储区域的时间维度参数和所述第一存储区域的空间维度参数输入预设的读电压预测模型,输出所述至少一个读电压的档位,其中,所述读电压预测模型是通过所述神经网络训练得到的,所述读电压预测模型用于指示时间维度参数、空间维度参数和读电压的档位之间的映射关系。
- 根据权利要求9所述的系统,其特征在于,所述存储系统还包括第二存储阵列,所述控制器与所述第二存储阵列连接;所述控制器还用于在将所述第一存储区域的时间维度参数和所述第一存储区域的空间维度参数输入预设的读电压预测模型,输出所述至少一个读电压的档位之前,基于所述第二存储阵列中的第二存储区域的多个参数组和所述多个参数组中的每个参数组对应的读电压的档位,通过所述神经网络进行训练,得到所述读电压预测模型,所述第二存储区域与所述第一存储区域的规模相同,所述每个参数组包括所述第二存储区域的时间维度参数和所述第二存储区域的空间维度参数,所述第二存储区域的空间维度参数用于指示所述第二存储区域在所述第二存储阵列中的物理位置,其中,不同参数组中的时间维度参数和空间维度参数中的至少一项不同。
- 根据权利要求9或10所述的系统,其特征在于,所述控制器还用于对读取到的原始数据进行纠错译码,得到译码数据;基于所述原始数据与所述译码数据之间翻转比特的数量,对所述读电压预测模型进行校准。
- 根据权利要求11所述的系统,其特征在于,所述控制器具体用于当所述翻转比特的数量大于预设的数量阈值时,对所述读电压预测模型进行校准。
- 根据权利要求8-12中任一项所述的系统,其特征在于,所述第一存储区域包括至少一个存储区域,所述存储区域包括颗粒Device、逻辑单元Die、面Plane、块Block、超 级块Super Block、子块Sub-Block、字线WL、页面page或扇区Sector。
- 根据权利要求8-13中任一项所述的系统,其特征在于,所述存储系统还包括主机,所述主机与所述控制器连接;所述主机用于在所述控制器获取所述第一存储区域的时间维度参数和所述第一存储区域的空间维度参数之前,向所述控制器发送读请求,所述读请求用于请求对所述第一存储区域进行数据读取;所述控制器具体用于基于所述读请求,获取所述第一存储区域的时间维度参数和所述第一存储区域的空间维度参数。
- 一种控制器,其特征在于,包括:处理器和通信接口,所述处理器和所述通信接口耦合,所述通信接口用于为所述处理器提供信息和/或数据,所述处理器用于运行计算机程序指令以执行上述权利要求1-7中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序被处理器运行时,实现如权利要求1-7中任一项所述的方法。
- 一种计算机程序产品,其特征在于,当所述计算机程序产品在处理器上运行时,实现如权利要求1-7中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/131868 WO2023087267A1 (zh) | 2021-11-19 | 2021-11-19 | 数据读取方法、控制器和存储系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117480557A true CN117480557A (zh) | 2024-01-30 |
Family
ID=86395998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180099387.9A Pending CN117480557A (zh) | 2021-11-19 | 2021-11-19 | 数据读取方法、控制器和存储系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117480557A (zh) |
WO (1) | WO2023087267A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831026A (zh) * | 2012-08-13 | 2012-12-19 | 忆正科技(武汉)有限公司 | 多层单元闪存及其软信息位读取电压阈值动态调整方法 |
US9847139B2 (en) * | 2012-10-01 | 2017-12-19 | Seagate Technology Llp | Flash channel parameter management with read scrub |
CN109840047A (zh) * | 2017-11-27 | 2019-06-04 | 华为技术有限公司 | 一种降低读延时的方法及装置 |
CN111309544B (zh) * | 2020-02-11 | 2021-01-26 | 上海威固信息技术股份有限公司 | 一种读参考电压受多维因子影响的预测建模及施加方法 |
-
2021
- 2021-11-19 WO PCT/CN2021/131868 patent/WO2023087267A1/zh active Application Filing
- 2021-11-19 CN CN202180099387.9A patent/CN117480557A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023087267A1 (zh) | 2023-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111801739A (zh) | 基于主机io操作的读取电压校准 | |
CN106847339B (zh) | 存储器装置及其操作方法 | |
US11722323B2 (en) | Physical unclonable function with NAND memory array | |
KR20200067848A (ko) | 우선적 유휴 시간 판독 스캔 | |
US11210004B2 (en) | Controller memory system to perform a single level cell (SLC), or multi level cell (MLC) or triple level cell (TLC) program operation on a memory block | |
KR20180001303A (ko) | 메모리 시스템 및 그 동작 방법 | |
US11023380B2 (en) | Non-volatile storage system with filtering of data samples for a monitored operational statistic | |
US8751735B2 (en) | Protection against data corruption for multi-level memory cell (MLC) flash memory | |
CN111324550B (zh) | 存储器系统及其操作方法 | |
TWI729903B (zh) | 藉助於機器學習來針對記憶裝置的服務品質優化進行存取控制的方法、相關記憶裝置及其控制器 | |
US11705201B2 (en) | Log data storage for flash memory | |
CN114115716B (zh) | 使用半良块的存储器装置虚拟块 | |
CN106024050A (zh) | 输出状态失败信号的半导体存储器件及其操作方法 | |
KR20190043860A (ko) | 메모리 시스템 및 이의 동작 방법 | |
KR20100134377A (ko) | 불휘발성 메모리 장치의 프로그램 방법 | |
KR20190051570A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
CN107729259A (zh) | 用于动态确定以执行读取回收操作的技术 | |
KR20170100875A (ko) | 메모리 시스템 및 이의 동작 방법 | |
KR102133542B1 (ko) | 랜더마이저 및 디랜더마이저를 포함하는 메모리 시스템 | |
CN117480557A (zh) | 数据读取方法、控制器和存储系统 | |
US11941272B2 (en) | Memory system and operating method of memory system | |
KR20170030900A (ko) | 반도체 메모리 장치 및 그것의 동작 방법 | |
US11579787B2 (en) | Extended super memory blocks in memory systems | |
US20220091779A1 (en) | Memory system and operating method of the memory system | |
CN112285515A (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 |