CN115248743B - 存储器的读取阈值调整技术 - Google Patents
存储器的读取阈值调整技术 Download PDFInfo
- Publication number
- CN115248743B CN115248743B CN202210441893.8A CN202210441893A CN115248743B CN 115248743 B CN115248743 B CN 115248743B CN 202210441893 A CN202210441893 A CN 202210441893A CN 115248743 B CN115248743 B CN 115248743B
- Authority
- CN
- China
- Prior art keywords
- value
- read
- memory
- bits
- threshold
- 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
- 238000000034 method Methods 0.000 title claims abstract description 122
- 238000012937 correction Methods 0.000 claims description 27
- 238000009826 distribution Methods 0.000 description 54
- 230000004044 response Effects 0.000 description 40
- 230000006870 function Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000004242 micellar liquid chromatography Methods 0.000 description 8
- 239000000758 substrate Substances 0.000 description 8
- 238000001514 detection method Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002277 temperature effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- ZOXJGFHDIHLPTG-UHFFFAOYSA-N Boron Chemical compound [B] ZOXJGFHDIHLPTG-UHFFFAOYSA-N 0.000 description 1
- 229910002601 GaN Inorganic materials 0.000 description 1
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 1
- JMASRVWKEDWRBT-UHFFFAOYSA-N Gallium nitride Chemical compound [Ga]#N JMASRVWKEDWRBT-UHFFFAOYSA-N 0.000 description 1
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 1
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 229910052785 arsenic Inorganic materials 0.000 description 1
- RQNWIZPPADIBDY-UHFFFAOYSA-N arsenic atom Chemical compound [As] RQNWIZPPADIBDY-UHFFFAOYSA-N 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 229910052796 boron Inorganic materials 0.000 description 1
- -1 but not limited to Substances 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 229910052732 germanium Inorganic materials 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 238000005468 ion implantation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 239000011574 phosphorus Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 229910052594 sapphire Inorganic materials 0.000 description 1
- 239000010980 sapphire Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000014616 translation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/1056—Updating check bits on partial write, i.e. read/modify/write
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/20—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits using counters or linear-feedback shift registers [LFSR]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50004—Marginal testing, e.g. race, voltage or current testing of threshold voltage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及存储器的读取阈值调整技术。存储器装置可使用具有第一值的读取阈值从所述存储器装置的存储器阵列读取码字。所述存储器装置可基于读取所述码字而递增所述存储器装置的一或多个计数器。所述计数器可指示对应于第一逻辑值的所述码字的位数量。所述存储器装置可基于读取所述码字而检测所述码字中的错误,例如不可纠正错误。所述存储器装置可基于由所述计数器指示的所述位数量,将所述读取阈值从所述第一值调整为第二值。所述存储器装置可使用具有所述第二值的所述读取阈值读取所述码字。
Description
交叉引用
本专利申请要求由EISENHUTH在2021年4月26日提交的标题为“存储器的读取阈值调整技术(READ THRESHOLD ADJUSTMENT TECHNIQUES FOR MEMORY)”的第17/240,938号美国专利申请的权益,所述申请转让给本受让人,且以全文引用的方式明确地并入本文中。
技术领域
技术领域涉及存储器的读取阈值调整技术。
背景技术
存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等的各种电子装置中。通过将存储器装置内的存储器单元编程为各种状态来存储信息。例如,二进制存储器单元可被编程为常常对应于逻辑1或逻辑0的两个支持状态中的一者。在一些实例中,单个存储器单元可支持超过两个可能状态,存储器单元可存储所述超过两个可能状态中的任一个。为了存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程到相应状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、三维交叉点存储器(3D交叉点)、或非(NOR)和与非(NAND)存储器装置等。存储器装置可以是易失性或非易失性的。除非由外部电源周期性更新,否则易失性存储器单元(例如,DRAM单元)可能随时间推移而丢失其编程状态。非易失性存储器单元(例如,NAND存储器单元)即使在不存在外部电源的情况下仍可在很长一段时间内维持其编程状态。
发明内容
描述一种设备。所述设备可包含:存储器装置;以及控制器,其与所述存储器装置耦合且配置成使所述设备进行以下操作:使用具有第一值的读取阈值从所述存储器装置的存储器阵列读取码字;至少部分地基于读取所述码字而递增计数器,所述计数器指示对应于第一逻辑值的所述码字的位数量;在读取所述码字之后检测所述码字中的错误;至少部分地基于由所述计数器指示的所述位数量,将所述读取阈值从所述第一值调整为第二值;以及使用具有所述第二值的所述读取阈值从所述存储器阵列读取所述码字。
描述一种存储代码的非暂时性计算机可读媒体。所述非暂时性计算机可读媒体存储代码,所述代码可包含指令,所述指令在由电子装置的处理器执行时使所述电子装置进行以下操作:使用具有第一值的读取阈值从存储器阵列读取码字;至少部分地基于读取所述码字而递增计数器,所述计数器指示对应于第一逻辑值的所述码字的位数量;在读取所述码字之后检测所述码字中的错误;至少部分地基于由所述计数器指示的所述位数量,将所述读取阈值从所述第一值调整为第二值;以及使用具有所述第二值的所述读取阈值从所述存储器阵列读取所述码字。
描述一种方法。所述方法可包含:使用具有第一值的读取阈值从所述存储器装置的存储器阵列读取码字;至少部分地基于读取所述码字而递增所述存储器装置的计数器,所述计数器指示对应于第一逻辑值的所述码字的位数量;在读取所述码字之后检测所述码字中的错误;至少部分地基于由所述计数器指示的所述位数量,将所述读取阈值从所述第一值调整为第二值;以及使用具有所述第二值的所述读取阈值从所述存储器阵列读取所述码字。
附图说明
图1示出根据本文公开的实例支持存储器的读取阈值调整技术的系统的实例。
图2示出根据本文公开的实例支持存储器的读取阈值调整技术的实例读取分布的曲线图。
图3示出根据本文公开的实例支持存储器的读取阈值调整技术的系统的实例。
图4示出根据本文公开的实例支持存储器的读取阈值调整技术的实例读取分布的曲线图。
图5示出根据本文公开的实例支持存储器的读取阈值调整技术的系统的实例。
图6示出根据本文公开的实例支持存储器的读取阈值调整技术的实例读取分布的曲线图。
图7示出根据本文公开的实例支持存储器的读取阈值调整技术的系统的实例。
图8示出根据本文公开的实例支持存储器的读取阈值调整技术的存储器装置的框图。
图9-11示出流程图,示出根据本文公开的实例支持存储器的读取阈值调整技术的一或多种方法。
具体实施方式
存储器装置可以存取存储器单元作为读取操作的一部分。例如,存储器单元可以向感测组件输出信号,感测组件可以将信号与一或多个读取阈值(例如,参考电压、参考电流或其任何组合)进行比较。存储器装置可以响应于将信号与一或多个读取阈值进行比较,确定存储器单元的逻辑值(例如,对于配置成存储一位的二进制存储器单元,存储的逻辑值例如0或1;对于配置成存储两位的非二进制存储器单元,存储的逻辑值例如00、01、10或11等)。作为说明性实例,尽管可以使用任何数量的阈值和逻辑值,但存储器装置可以确定,如果信号低于读取阈值,则存储器单元正在存储第一逻辑值(例如,0),或者如果信号高于读取阈值,则存储器单元正在存储第二逻辑值(例如,1)。在一些实例中,存储器装置可从存储器单元集读取位集,其中位集可被称为码字。在一些情况下,存储器装置可响应于从存储器单元读取一或多个码字而检测不可纠正错误。例如,由于程序擦除(PE)周期、读取干扰、交叉温度效应等,一或多个读取阈值可能已经随时间而移位。此类移位可能会导致存储器装置的纠错码(ECC)方案或其它纠错方案无法纠正的错误数量。
根据本文描述的技术,存储器装置可以实施存储器的读取阈值调整技术。此类技术可使存储器装置在读取检测到相对高错误数量的数据之后(例如,在再次读取数据之前)准确地移位一或多个读取阈值,这可纠正错误的至少一个子集(例如,由于移位的读取阈值,可消除或变得可纠正的不可纠正错误)。
例如,存储器装置可以配置成在存储器阵列中存储数据,作为平衡的或至少接近平衡的码字,其中平衡的码字可以包含相等数量的1和0。例如,存储器装置可在存储数据之前应用加扰器(例如,伪随机加扰器),并将加扰数据存储为码字,其中码字可响应于加扰器而平衡或接近平衡。结合从存储器阵列读取数据(例如,码字),存储器装置可以包含配置成跟踪数据中的逻辑值数量的一或多个计数器。
在一些实例中,存储器单元可以是单层级单元(SLC)的实例(例如,每个存储器单元可以存储单个逻辑值或位,例如0或1)。在此类实例中,存储器装置可以将来自存储器单元的信号与读取阈值进行比较,以识别单元存储的逻辑值。存储器装置可以读取存储器单元集,作为读取码字的一部分。存储器装置可以递增计数器以跟踪码字中的逻辑值的数量(例如,如果从存储器单元读取1,则计数器可递增,因此可指示码字中的1的总数量)。如果存储器装置检测到码字包含相对高的错误数量(例如,导致不可纠正错误数量的错误数量),则装置可配置成使用一或多个计数器选择用于移位一或多个读取阈值的方向或幅度。通过使用计数器选择用于移位读取阈值的方向或幅度,存储器装置可减少读取码字的尝试次数,并减少存储器装置的磨损(例如,由于预测相对一致地移位读取阈值的正确方向而延长装置的寿命),以及其它好处。
在一些实例中,存储器装置可以根据数据中的一或多个逻辑值的数量来移位读取阈值。例如,如果数据中的第一逻辑值的数量(例如,1的数量)大于数据中的第二逻辑值的第二数量(例如,0的数量),则存储器装置可以在第一方向上移位读取阈值。替代地,如果第一逻辑值的数量小于第二逻辑值的数量,则存储器装置可以在第二方向上移位读取阈值。在一些情况下,存储器装置可以选择幅度,响应于比较而移位读取阈值(例如,如果计数器指示相对较高的数量,则存储器装置可以将读取阈值移位相对较大的量)达所述幅度。
在一些实例中,存储器单元可以是如本文描述的非二进制存储器单元的实例,其中每个存储器单元可以存储至少两个信息位(例如,对于各自配置成存储两位的存储器单元,存储00、01、10或11,对于各自配置成存储三位的存储器单元,存储000、111、011等)。换句话说,存储器单元可以各自包含用于位存储的两个或更多个层级(例如,对于任何数量的层级,下部位层级可以存储可称为下部位的第一位,上部位层级可以存储可称为上部位的第二位,额外的位层级可以存储可称为额外位的第三位,以此类推)。在一些实例中,层级可被称为页(例如,上部层级可被称为上部页)。
在一些实例中,存储器装置可以使用与存储器单元的层级相关联的计数器集。在一些情况下,每个层级可与计数器集中的相应计数器相关联。例如,第一层级(例如,较低层级)可对应于第一计数器。存储器装置递增第一计数器以跟踪存储在第一层级的数据中的逻辑值的数量(例如,如果从存储器单元的较低层级读取1,则可递增第一计数器)。存储器装置可以响应于读取存储在第二层级中的数据而递增与存储器单元的第二层级(例如,上部层级)相对应的第二计数器。例如,第二计数器可以指示其存储的逻辑值(例如,下部位和上部位的逻辑值)导致具有特定值的逻辑门输出(例如,XOR或XNOR逻辑门可以基于给定存储器单元存储的多个位输出1或0)的存储器单元的数量。此类技术可用于任何数量的层级和计数器。例如,如果存储器单元分别使用第一、第二和第三层级存储三位,则存储器装置可以递增与第三层级相对应的第三计数器(例如,XOR或XNOR逻辑门可以基于存储在存储器单元中的下部位、上部位和额外位的逻辑值输出1或0)。因此,存储器装置可以使用计数器的组合一次评估多个阈值。例如,存储器装置可以使用计数器集中的计数的线性组合来确定用于调整多个读取阈值的方向、幅度或两者。
另外或替代地,存储器装置可使用与读取阈值集相关联的计数器集,其中计数器集中的每个计数器可对应于所述读取阈值集中的相应读取阈值。每个计数器可以跟踪数据所存储的用于相应读取阈值的逻辑值的数量(例如,下部页读取阈值可以对应于指示从存储器单元的下部层级读取的1或0的数量的计数器,两个上部位读取阈值可以对应于指示从存储器单元的上部层级读取的1或0的数量的两个计数器,以此类推)。存储器装置可以实施逻辑以确定每个阈值的计数。例如,上部位读取阈值的计数器值可能无法解释如本文所述从另一分布错误读取的逻辑值。因此,存储器装置可以通过第二计数来调整第一计数(例如,可以从另一阈值计数中减去边缘或结束阈值计数,以说明在阈值之间不当泄漏的分布)。存储器装置可以迭代地调整计数以确定每个读取阈值的计数,并且存储器装置可以使用调整后的计数调整读取阈值。
首先在参考图1描述的系统、装置和电路的上下文中描述本公开的特征。在参考图2-8描述的读取分布和系统的上下文中描述本公开的特征。通过如参考图9-11描述的涉及存储器的读取阈值调整技术的设备图和流程图来进一步说明和描述本公开的这些和其它特征。
图1示出根据本文公开的实例支持存储器的读取阈值调整技术的系统100的实例。系统100包含与存储器系统110耦合的主机系统105。
存储器系统110可以是或包含任何装置或装置的集合,其中装置或装置的集合包含至少一个存储器阵列。例如,存储器系统110可以是或包含通用快闪存储(UFS)装置、嵌入式多媒体控制器(eMMC)装置、快闪装置、通用串行总线(USB)快闪装置、安全数字(SD)卡、固态驱动器(SSD)、硬盘驱动器(HDD)、双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM),或非易失性DIMM(NVDIMM),以及其它可能性。
系统100可包含在计算装置中,所述计算装置如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具物联网(IoT)功能的装置、嵌入式计算机(例如,包含在交通工具、工业设备或联网商业装置中的嵌入式计算机),或包含存储器和处理装置的任何其它计算装置。
系统100可以包含主机系统105,其可以与存储器系统110耦合。在一些实例中,这种耦合可以包含与主机系统控制器106的连接,所述主机系统控制器可以是配置成使主机系统105根据如本文描述的实例执行各种操作的控制组件的实例。主机系统105可包含一或多个装置,且在一些情况下可包含处理器芯片组和通过处理器芯片组执行的软件堆栈。例如,主机系统105可包含配置成用于与存储器系统110或其中的装置通信的应用程序。处理器芯片组可包含一或多个核心、一或多个高速缓存器(例如,在主机系统105本地的或包含在所述主机系统中的存储器)、存储器控制器(例如,NVDIMM控制器)和存储协议控制器(例如,PCIe控制器、串行高级技术附件(SATA)控制器)。主机系统105可以使用存储器系统110,例如,将数据写入存储器系统110以及从存储器系统110读取数据。虽然图1示出一个存储器系统110,但是主机系统105可与任何数量的存储器系统110耦合。
主机系统105可经由至少一个物理主机接口而与存储器系统110耦合。在一些情况下,主机系统105和存储器系统110可配置成使用相关联协议经由物理主机接口通信(例如,以在存储器系统110与主机系统105之间交换或以其它方式传达控制、地址、数据及其它信号)。物理主机接口的实例可包含但不限于SATA接口、UFS接口、eMMC接口、外围组件互连高速(PCIe)接口、USB接口、光纤通道接口、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、双数据速率(DDR)接口、DIMM接口(例如,支持DDR的DIMM套接接口)、开放NAND快闪接口(ONFI)和低功率双数据速率(LPDDR)接口。在一些实例中,一或多个此类接口可包含在主机系统105的主机系统控制器106与存储器系统110的存储器系统控制器115中或以其它方式在其间得到支持。在一些实例中,主机系统105可经由用于包含在存储器系统110中的每个存储器装置130的相应物理主机接口,或经由用于包含在存储器系统110中的每种类型的存储器装置130的相应物理主机接口与存储器系统110耦合(例如,主机系统控制器106可与存储器系统控制器115耦合)。
存储器系统110可包含存储器系统控制器115和一或多个存储器装置130。存储器装置130可以包含任何类型的存储器单元(例如,非易失性存储器单元、易失性存储器单元,或其任何组合)的一或多个存储器阵列。虽然图1的实例中示出两个存储器装置130-a和130-b,但存储器系统110可包含任何数量的存储器装置130。此外,如果存储器系统110包含超过一个存储器装置130,则存储器系统110内的不同存储器装置130可包含相同或不同类型的存储器单元。
存储器系统控制器115可与主机系统105耦合且通信(例如,经由物理主机接口),并且可以是配置成使存储器系统110根据如本文描述的实例执行各种操作的控制器或控制组件的实例。存储器系统控制器115还可与存储器装置130耦合且通信以在存储器装置130处进行一般可称为存取操作的操作,例如读取数据、写入数据、擦除数据,或更新数据,和其它此类操作。在一些情况下,存储器系统控制器115可从主机系统105接收命令且与一或多个存储器装置130通信以执行此类命令(例如,在所述一或多个存储器装置130内的存储器阵列处)。例如,存储器系统控制器115可从主机系统105接收命令或操作,并且可将命令或操作转换成指令或适当命令,以实现对存储器装置130的所需存取。另外,在一些情况下,存储器系统控制器115可与主机系统105和一或多个存储器装置130交换数据(例如,响应于来自主机系统105的命令或以其它方式与所述命令相关联地)。例如,存储器系统控制器115可将与存储器装置130相关联的响应(例如,数据包或其它信号)转换成用于主机系统105的相应信号。
存储器系统控制器115可配置用于与存储器装置130相关联的其它操作。例如,存储器系统控制器115可执行或管理操作,例如,耗损均衡操作、垃圾收集操作、例如错误检测操作或错误纠正操作的错误控制操作、加密操作、高速缓存操作、媒体管理操作、后台刷新、健康监测,和与来自主机系统105的命令相关联的逻辑地址(例如,逻辑块地址(LBA))和与存储器装置130内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转换。
存储器系统控制器115可包含硬件,如一或多个集成电路或离散组件、缓冲存储器或其组合。硬件可包含具有专用(例如,硬编码)逻辑的电路,以执行本文中属于存储器系统控制器115的操作。存储器系统控制器115可以是或包含微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)),或任何其它合适的处理器或处理电路。
存储器系统控制器115还可以包含本地存储器120。在一些情况下,本地存储器120可以包含只读存储器(ROM)或可存储可由存储器系统控制器115执行的操作代码(例如,可执行指令)以执行本文中归于存储器系统控制器115的功能的其它存储器。在一些情况下,本地存储器120可另外或替代地包含静态随机存取存储器(SRAM)或可由存储器系统控制器115用于例如与本文中属于存储器系统控制器115的功能有关的内部存储或计算的其它存储器。另外或替代地,本地存储器120可充当用于存储器系统控制器115的高速缓存。例如,如果从存储器装置130读取或写入所述存储器装置,则数据可存储于本地存储器120中,并且所述数据可在本地存储器120中可用,以供主机系统105根据高速缓存策略进行后续检索或操作(例如,更新)(例如,相对于存储器装置130的延迟减少)。
尽管图1中的存储器系统110的实例已示出为包含存储器系统控制器115,但在一些情况下存储器系统110可不包含存储器系统控制器115。例如,存储器系统110可另外或替代地依赖于外部控制器(例如,由主机系统105实施)或可分别在存储器装置130内部的一或多个本地控制器135,以执行本文中属于存储器系统控制器115的功能。一般来说,本文中归于存储器系统控制器115的一或多个功能可在一些情况下改为由主机系统105、本地控制器135或其任何组合进行。在一些情况下,至少部分地由存储器系统控制器115管理的存储器装置130可称为受管理存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。
存储器装置130可包含非易失性存储器单元的一或多个阵列。例如,存储器装置130可包含NAND(例如,NAND快闪)存储器、ROM、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电RAM(FeRAM)、磁性RAM(MRAM)、NOR(例如,NOR快闪)存储器、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)和电可擦除可编程ROM(EEPROM)。另外或替代地,存储器装置130可包含易失性存储器单元的一或多个阵列。例如,存储器装置130可包含随机存取存储器(RAM)存储器单元,例如动态RAM(DRAM)存储器单元、同步DRAM(SDRAM)存储器单元或SRAM存储器单元。
在一些实例中,存储器装置130可分别包含本地控制器135(例如,处于同一裸片上或同一封装内),可在存储器装置130的一或多个存储器单元上执行操作。本地控制器135可结合存储器系统控制器115操作,或可执行本文中属于存储器系统控制器115的一或多个功能。
在一些情况下,存储器装置130可以是或包含NAND装置(例如,NAND快闪装置)。存储器装置130可以是或包含存储器裸片160。例如,在一些情况下,存储器装置130可以是包含一或多个裸片160的封装。在一些实例中,裸片160可以是从晶片切割的一块电子级半导体(例如,从硅晶片切割的硅裸片)。每个裸片160可包含一或多个平面165,并且每个平面165可包含相应的块170的集,其中每个块170可包含相应的页175的集,并且每个页175可包含存储器单元集。
在一些情况下,NAND存储器装置130可包含配置成各自存储一个信息位的存储器单元,其可称为SLC。另外或替代地,NAND存储器装置130可以包含配置成各自存储多个信息位的存储器单元,如果配置成各自存储两个信息位,则其可以被称为MLC,如果配置成各自存储三个信息位,则其可以被称为三层级单元(TLC),如果配置成各自存储四个信息位,则其可以被称为四层级单元(QLC),或更一般地被称为多层级或多位存储器单元。多层级存储器单元可相对于SLC存储器单元提供更大的存储密度,但在一些情况下,可能涉及用于支持电路的更窄读取或写入裕度或更大复杂度。
在一些情况下,平面165可以指块170的群组,并且在一些情况下,并行操作可在不同平面165内进行。例如,并行操作可在不同块170内的存储器单元上执行,只要不同块170是在不同平面165中即可。在一些情况下,在不同平面165中执行并行操作可具有一或多个限制,例如相同操作是在相应平面165内具有相同页地址的不同页175内的存储器单元上执行的(例如,涉及命令解码、页地址解码电路或跨平面165共享的其它电路)。
在一些情况下,块170可包含组织成行(页175)和列(例如,串,未示出)的存储器单元。例如,同一页175中的存储器单元可共享共同字线(例如,与其耦合),并且同一串中的存储器单元可共享共同数字线(其可替代地被称为位线)(例如,与其耦合)。
对于一些NAND架构,存储器单元可在第一粒度级别(例如,在页粒度级别)读取和编程(例如,写入),但可在第二粒度级别(例如,在块粒度级别)擦除。也就是说,页175可以是可独立地编程或读取(例如,作为单个编程或读取操作的一部分同时编程或读取)的存储器(例如,存储器单元的集合)的最小单元,且块170可以是可独立地擦除(例如,作为单个擦除操作的一部分同时擦除)的存储器(例如,存储器单元的集合)的最小单元。此外,在一些情况下,NAND存储器单元可在其可用新数据重写之前进行擦除。因此,例如,在一些情况下,可直到包含页175的整个块170已被擦除才更新所使用的页175。
系统100可包含任何数量的支持存储器的读取阈值调整技术的非暂时性计算机可读媒体。例如,主机系统105、存储器系统控制器115或存储器装置130可包含或以其它方式可存取一或多个非暂时性计算机可读媒体,其存储用于执行本文中属于主机系统105、存储器系统控制器115或存储器装置130的功能的指令(例如,固件)。例如,此类指令在由主机系统105(例如,主机系统控制器106)、存储器系统控制器115或存储器装置130(例如,本地控制器135)执行时可使主机系统105、存储器系统控制器115或存储器装置130执行本文描述的一或多个相关联功能。
系统100可以实施如本文描述的读取阈值调整技术。例如,存储器系统110(或主机系统105)可以使用本文描述的一或多个计数器来调整一或多个读取阈值,这可以使存储器系统110能够纠正一或多个错误(例如,原本不可纠正的错误)、减少码字的读取操作数量、延长存储器系统110的寿命或其任何组合,以及其它益处。例如,存储器系统110可以包含一或多个计数器,其配置成跟踪数据中的逻辑值的数量。存储器系统110可以配置成使用一或多个计数器来选择用于移位一或多个读取阈值的方向或幅度。在一些实例中,存储器装置130可以包含SLC或多位单元(例如,MLC、TLC、QLC等)。尽管本文中可以在NAND存储器单元的上下文中描述某些实例,但应理解,本文中描述的技术可以应用于任何类型的存储器单元的上下文中。
图2示出根据本文公开的实例支持存储器的读取阈值调整技术的实例读取分布的曲线图200。曲线图200可以示出由如参考图1描述的系统100或如本文描述的另一系统实施的操作的实例。为了说明清楚,曲线图200可以包含电压轴205和数量轴210,但是也可以使用其它度量(例如,电流轴或电荷轴而不是电压轴)。通常,曲线图200可以示出从存储器阵列中的存储器单元读取(例如,响应于读取)的信号的电压的实例分布215,以及使用一或多个计数器的阈值220的实例调整225。
曲线图200可以包含读取阈值220,其可以是电压阈值的实例,但是可以另外或替代地使用电流阈值或电荷阈值。读取阈值220可以用作一或多个存取操作(例如,读取操作)的一部分。例如,存储器装置可以接收从存储器阵列的地址读取数据的命令。数据可以是由命令中的地址指示的码字。存储器装置可以存取与码字相关联的存储器单元(例如,地址中包含的每个存储器单元),并将存储器单元的输出与读取阈值220进行比较。例如,如果存储器装置的感测组件检测到低于读取阈值220的电压,则存储器装置可以读取对应存储器单元,作为存储第一逻辑值(例如,0或1)。替代地,如果感测组件检测到高于读取阈值220的电压,则存储器装置可以读取对应存储器单元,作为存储第二逻辑值(例如,1或0)。
曲线图200可以包含分布215-a和分布215-b。分布215可以说明从中读取码字并存储相应逻辑值的存储器单元的数量的感测信号的电压。例如,分布215-a上的点可以表示存储相应电压值的存储器单元的数量。分布215-a上具有电压的存储器单元可以是先前用第一逻辑值(例如,1)写入的存储器单元的实例,而分布215-b可以是先前用第二逻辑值(例如,0)写入的存储器单元的实例。虽然为了说明清楚而示出为抛物线曲线,但应理解,分布215可以是任何形状或与任何逻辑值相关联。
存储器装置可以实施一或多个ECC方案以检测或纠正数据中的错误。例如,存储器装置可以使用纠错循环码,例如Bose、Chaudhuri和Hocquenghen(BCH)码。另外或替代地,存储器装置可以使用线性纠错码,例如低密度奇偶校验(LDPC)码。应理解,存储器装置可以实施任何类型的基于代码的技术或用于错误纠正或检测的其它技术。用户数据可以作为一或多个码字存储在存储器阵列中。例如,可以使用ECC方案生成ECC位,并且码字可以包含用户数据位和ECC位(例如,奇偶校验位)。
在一些实例中,存储器系统可以实施一或多个编码器(例如,作为一或多个存储器装置130或存储器系统控制器115的一部分),其在一些情况下可被称为加扰器,以响应于要写入存储器阵列的用户数据生成平衡码字,使得存储器阵列可以存储代表用户数据的平衡或接近平衡的码字。作为说明性实例,存储器系统可以使用加扰器或其它编码器从用户数据生成位序列,其中每个位具有为1或0的相等概率。因此,存储器装置可以呈码字形式存储用户数据(例如,与原始用户数据的位序列无关),其中位具有为0或1的相对相似的概率,这可以提高存储器装置的可靠性和寿命并减少读取干扰。
在一些实例中,读取阈值220可能偏离期望值,这可能导致数据中的一或多个错误。替代地看,分布215可随时间而移位,使得在某个稍后时间的读取阈值220的理想位置可以不同于在某个先前时间的读取阈值220的理想位置。例如,由于PE周期、读取干扰、交叉温度效应或其组合,读取阈值220的理想位置可随时间而移位(例如,分布215可因PE周期、读取干扰、交叉温度效应或其组合而随时间移位)。此类移位可能会导致部分存储器单元被读取为错误的值。例如,位于读取阈值220左侧的分布215-b的存储器单元(例如,写入第二逻辑值,例如1或0)可能被错误地读取为分布215-a的存储器单元。作为实例,由于作为第二逻辑值(例如,0)写入的存储器单元的电压小于读取阈值220,因此可以将所述存储器单元读取为第一逻辑值(例如,1)。在一些实例中,读取阈值220中的此类移位可能会在码字中引入相对较大错误数量,这可能导致可检测但不可纠正错误(例如,比存储器装置的ECC方案可纠正的错误位更多,但不是太多的错误位,以至于存储器装置的ECC方案无法检测到错误,例如,如果ECC方案是单纠错双纠错(SECDED)方案,则为两位错误)。
因此,存储器系统可以使用一或多个计数器来调整读取阈值220。例如,存储器系统可以使用伪随机或随机加扰器将用户数据编码为码字(例如,存储器系统可以包含加扰器,例如,在存储器系统的控制器中或存储器系统中的其它地方)。在此类实例中,码字的位是第一逻辑值的概率可以是0.5,但可使用任何概率或加扰器。存储器系统的解码器可以包含计数器,其配置成对从存储器读取的码字内具有特定逻辑值的位数量进行计数。例如,每次将1作为码字的一部分读取时,计数器可以递增,并且计数器值可以指示码字中1的数量。替代地,计数器可以跟踪具有第二逻辑值的位数量(例如,码字中0的数量)。
对于给定码字,存储器系统可以将计数器指示的具有第一逻辑值的位数量(例如,计数)与阈值或具有第二逻辑值的位数量进行比较。例如,存储器系统可以将数量与码字中的位总数量和所述数量之间的差进行比较(例如,作为一个实例,如果码字具有9312位,存储器系统可以将所述数量与9312减去所述数量进行比较)。应理解,本文提供的这些和任何其它具体数字是仅为了说明清楚而提供的实例,并且不限制权利要求。另外或替代地,存储器系统可将所述数量与一或多个阈值数量进行比较(例如,存储器系统可确定具有第一逻辑值的位数量是否大于或小于码字中的位的一半,或大于或小于码字中的位的至少一半)。
存储器系统可以响应于比较而执行调整225。例如,存储器系统可以选择方向、幅度或两者以响应于计数器指示的数量来调整(例如,移位)读取阈值220。作为说明性实例,存储器系统可确定码字中的1的数量大于0的数量或满足1的阈值数量。存储器系统可以在与确定相关联的方向上移位读取阈值220。例如,存储器系统可向左移位读取阈值220(例如,将读取操作的参考电压调整为相对较小),使得读取阈值220位于相对更靠近分布215-a的位置。另外或替代地,存储器系统可响应于计数器来确定调整225的幅度(例如,表格可指示幅度,幅度可随数量缩放,使得码字中1的相对较大数量对应于相对较大的调整225等)。虽然为了说明清楚而描述为向左调整(例如,朝向分布215-a)并跟踪码字中第一逻辑值的数量,但存储器系统可实施任何附加或替代变化(例如,存储器系统可响应于计数器而向右调整,存储器系统可跟踪第二逻辑值的数量等)。在一些实例中,无论错误是否不可纠正,存储器系统都可以执行本文描述的技术(例如,相对较高错误数量可以满足阈值,并且存储器系统可以使用本文描述的技术主动地移位阈值以减少错误数量)。
在调整读取阈值220之后,存储器系统可以执行另一读取操作。例如,存储器系统可以使用调整的读取阈值220从存储器单元读取码字。通过在选择的方向或幅度上调整读取阈值220,第二读取操作可产生第一逻辑值的相对较高或较低数量。例如,由于读取阈值被移位,可以读取较低数量的1,使得在第一次读取操作中由于读取阈值220的初始位置被错误地读取为1的分布215-b的存储器单元现在由于读取阈值220的移位位置被正确地读取为0。因此,可以减少错误数量,从而可以消除错误,或者ECC代码可以纠正任何剩余的错误。在一些实例中,存储器系统可执行附加或替代调整225。例如,如果第二次读取操作产生另一个不可纠正错误,则存储器系统可以重复比较和调整过程,直到成功读取为止。替代地,存储器系统可响应于第二不可纠正错误而在相反方向上执行调整(例如,响应于第二操作包含不可纠正错误,存储器系统可针对第二操作将阈值向左移位,并针对第三操作将阈值向右移位初始读取阈值220)。
作为一个说明性实例,存储器系统可以使用BCH码检测错误(例如,ECC解码器可以是BCH解码器的实例)。用户数据大小可以是1千字节(KB)(例如,8000位),并且码字的大小可以是9312位,这可以支持对数据中多达80个错误的纠正。换句话说,为了发生不可纠正错误,81位或更多位的数据可能被翻转到错误的值。存储器系统可以确定对应于第一逻辑值的第一位数量大于对应于第二逻辑值的第二位数量(例如,以与0相比更多的1或与1相比更多的0读取码字)。在这种情况下,调整读取阈值220的正确方向可能是产生与第二逻辑值相对应的相对较高位数量的方向(例如,向左移位阈值以产生来自分布215-b的更多0)的概率相对较高。换句话说,由于确定第一位数量高于第二位数量,存储器系统可以在产生与第二逻辑值相对应的较高位数量的方向上移位阈值。例如,为了使码字不可纠正且计数器指示的方向错误,可能至少存在位,其对应于数据(例如,在码字中)中的第一逻辑值,其中T表示ECC代码可纠正的位数量。原始加扰码字包含具有第一逻辑值的此类位数量的概率可能相对较低,并且阈值220移位以减少1的数量(例如,向左)是正确方向的概率相应地可能相对较高。
作为另一说明性实例,存储器系统可以使用LDPC码检测错误(例如,ECC解码器可以是LDPC解码器的实例)。在此类实例中,代码可能对应于使码字不可纠正的错误数量集。在此类实例中,方向是正确方向的概率可以计算为原始加扰码字包含具有第一逻辑值的指示位数量的概率和位数量可能导致不可纠正错误的概率的乘积。
在一些实例中,存储器系统可计算本文描述的此类概率,并响应于计算而移位阈值220。例如,存储器系统可以使用二项式公式或其它计算技术来确定方向正确的概率,并响应于所述概率选择方向。另外或替代地,存储器系统可以预先配置阈值,并且可以响应于预先配置的阈值来调整阈值220。例如,存储器系统可配置成在某一方向上移位以减少较大的位数量(例如,如果码字中1的数量大于0的数量,则移位到较低的电压阈值220以减少1的数量)。另外或替代地,存储器系统可配置成存储和查阅查找表,并可在表中由对应于相应计数器值或计数器值范围的字段指示的方向、幅度或两者上调整阈值220。与查找表的不同条目相关联的不同计数器值可以响应于例如在配置存储器系统之前确定的概率,或者响应于实验技术。
图3示出根据本文公开的实例支持存储器的读取阈值调整技术的系统300的实例。在一些实例中,系统300可以是参考图1和2描述的系统100和/或曲线图200的实例或包含其方面。例如,系统300可以包含存储器305,其可以是如本文描述的存储器阵列的实例(例如,NAND SLC存储器单元)。系统300可以示出使用解码器310、计数器315和比较组件320调整读取阈值的实例实施方案。尽管为了说明清楚,系统300的各个组件被单独地示出,但它们可以被组合或位于不同于所示的位置(例如,解码器310可以在逻辑上包含计数器315和比较组件320)。
在一些实例中,系统300可以包含编码器335。编码器335可配置成如本文参考图2所述将用户数据加扰为码字。例如,编码器335可以接收用户数据,并使用本文描述的加扰器生成0和1的平衡序列。编码器335可另外或替代地配置成使用ECC码对码字进行编码,以在稍后从存储器305读取码字时支持错误检测或纠正过程。
系统300可以示出用于使用本文参考图2描述的技术来执行读取阈值的调整325的数据路径。例如,可以从存储器305读取数据(例如,码字)。可以将数据输入到解码器310和计数器315。解码器310可响应于解码数据而检测不可纠正错误330。在一些实例中,解码器310可以包含ECC解码器之外或替代ECC解码器的解扰器。例如,解码器310可以配置成作为读取操作的一部分将码字解扰到原始用户数据。另外或替代地,计数器315可以跟踪与第一逻辑值相对应的数据中的位数量(例如,计数器可以在每次从存储器单元读取1或0时递增),如参考图2所描述。
比较组件320可以从计数器315接收与第一逻辑值相对应的位数量、接收数据包含来自解码器310的不可纠正错误的指示、或者两者。例如,如果解码器310检测到数据中的错误330是不可纠正的(例如,数据包含用于ECC方案的不可纠正错误数量),则解码器310可以向比较组件320指示错误330。比较组件320可以将位数量与第二位数量(例如,0的数量与1的数量)进行比较。在一些实例中,比较组件320可以将计数器315指示的位数量与一或多个阈值进行比较(例如,确定位数量是否满足、超过或低于阈值,例如码字的一半位,或一些其它阈值,以便识别码字在读取时的不平衡程度)。
存储器系统可以使用来自比较组件320的结果执行调整325。例如,如果比较组件320指示具有第一逻辑值的位数量大于具有第二逻辑值的位数量或者满足阈值,则存储器系统可以为后续读取操作选择减少具有第一逻辑值的位数量的方向。作为说明性实例,存储器系统可以确定码字中1的数量大于0的数量或满足阈值数量。存储器系统还可以确定错误330是不可纠正的。例如,逻辑门可以接收错误330不可纠正的指示,以及具有第一逻辑值的位数量是大于还是小于具有第二逻辑值的位数量的指示。逻辑门可以输出指示错误330不可纠正的信号和比较组件320的第一结果(例如,1多于0)。在此类实例中,存储器系统可执行调整325-a(例如,存储器系统可移位阈值以获得相对较高数量的0)。移位的方向、移位的幅度或两者都可以响应于计数器315和比较组件320的输出。替代地,逻辑门可以输出指示错误330不可纠正的信号和比较组件320的第二结果(例如,0多于1)。在此类实例中,存储器系统可执行调整325-b(例如,存储器系统可移位阈值以获得相对较高数量的1)。因此,存储器系统可以将读取阈值从第一值调整为第二值,其中调整的方向、调整的幅度或两者都可以响应于计数器315和比较组件320的输出。在调整读取阈值之后,存储器系统可以使用具有第二值的读取阈值来读取码字。此类过程可以根据需要重复,直到解码器310读取了无错误或可纠正的码字,或者直到执行了尝试的阈值次数(码字读取)。
图4示出根据本文公开的实例支持存储器的读取阈值调整技术的实例读取分布的曲线图400。曲线图400可以是由参考图1描述的系统100实施的操作的实例。曲线图400可以实施分别参考图2和3描述的曲线图200或系统300的方面。通常,曲线图400可以示出存储器阵列中的MLC数据的实例分布415。作为说明性实例,曲线图400示出存储两个位的存储器单元的阈值420和分布415,但是本文的教导的方面可以扩展到各自存储任何数量的位的存储器单元。
曲线图400可以包含读取阈值420-a、读取阈值420-b和读取阈值420-c,它们可以是电压阈值的实例,但是可以另外或替代地使用电流阈值或电荷阈值。存储器系统可以使用读取阈值420读取存储器单元。例如,存储器系统可以将响应于读取存储器单元而生成的信号的电压与读取阈值420进行比较,并响应于比较电压而识别逻辑值。
在一些实例中,不同阈值420可与存储在存储器单元中的相应位相关联。作为存储两位的MLC存储器单元的实例,阈值420-b可与存储器单元的相应第一位相关联,所述第一位可被称为存储器单元的“下部位”或“下部页位”。在一些情况下,阈值420-b可被称为“下部页阈值”。阈值420-a和阈值420-c可与存储器单元的相应第二位相关联,所述第二位可被称为存储器单元的“上部位”或“上部页位”。在一些情况下,阈值420-a和420-c可被称为“上部页阈值”。作为说明性实例,如果存储器单元的电压信号小于阈值420-b,则存储器单元可以将相应第一位(例如,下部页位)读取为1。如果相应第一位为1,则存储器系统可以使用读取阈值420-a读取相应第二位(例如,上部页位)。例如,如果电压信号小于阈值420-a,则存储器系统可以将第二位读取为1,而如果电压信号大于阈值420-a,则将第二位读取为0。作为另一说明性实例,如果电压信号大于读取阈值420-b,则存储器系统可以将相应第一位读取为0。如果电压信号小于读取阈值420-c,则存储器系统可以将相应第二位读取为0,而如果电压信号大于读取阈值420-c,则将相应第二位读取为1。
在此类实例中,分布415-a可对应于用逻辑值11(例如,下部页位1和上部页位1)写入的存储器单元,分布415-b可对应于用逻辑值01(例如,下部页位1和上部页位0)写入的存储器单元,分布415-c可对应于用逻辑值00(例如,下部页位0和上部页位0)写入的存储器单元,并且分布415-c可对应于用逻辑值10(例如,下部页位0和上部页位1)写入的存储器单元。在一些实例中,逻辑值、分布415和读取阈值420可以不同于所描述的(例如,分布415和读取阈值420可以与不同逻辑值、下部页位或上部页位相关联)。尽管为了说明清楚而示出为抛物线曲线,但应理解,分布415可以是任何形状或与任何逻辑值相关联。
在一些实例中,分布415中的一或多个可以随时间而移位,使得一或多个读取阈值420偏离理想读取阈值,这可能导致数据中的一或多个错误。例如,由于PE周期、读取干扰、交叉温度效应或其组合,分布415可随时间而移位。移位可能导致部分存储器单元被读取为存储了错误的值。例如,位于读取阈值420-a左侧的分布215-b的存储器单元(例如,写入第二逻辑值,例如01)可能被错误地读取为分布215-a的存储器单元,位于读取阈值420-b左侧的分布215-c的存储器单元(例如,写入第三逻辑值,例如00)可能被错误地读取(例如,读取为01),以此类推。作为说明性实例,用第二逻辑值(例如,01)写入的存储器单元可以被读取为存储第一逻辑值(例如,11),因为这些存储器单元的电压小于读取阈值420-a。在一些实例中,读取阈值420中的此类移位可能会在码字中引入相对较大错误数量,这可能会导致存储器系统的ECC方案检测到但无法纠正的错误。
因此,存储器系统可以使用一或多个计数器来调整一或多个读取阈值420。例如,存储器系统可以使用伪随机或随机加扰器对用户数据进行编码以生成数据,所述数据可以存储在存储器阵列中作为用户数据的表示。在此类实例中,数据的位可能对应于四个逻辑值中的一个的概率可以是0.25,但是可以使用任何数量的位、逻辑值、概率或加扰器。存储器系统的解码器可以包含一或多个计数器,其配置成随着存储器系统从存储器读取数据而递增。
在一些实例中,例如对于配置成存储两个或更多个信息位的多位单元(例如,MLC、TLC、QLC等),存储器系统可以实施多个计数器。例如,存储器单元集中的存储器单元可以包含两个或更多个层级用于位存储。在图4所示的MLC单元的实例中,下部位可存储在存储器单元的下部页(例如,下部层级)上,并且上部位可存储在存储器单元的上部页(例如,上部层级)上,如上文所描述。作为说明性实例,如果下部位的逻辑值为1,则存储器单元的电压可以写入下部页读取阈值420-b的左侧。在此类实例中,如果写入上部页读取阈值420-a的左侧,则上部位的逻辑值可以是1,如果写入右侧,则为0。作为另一实例,下部位可具有逻辑值0,并被写入下部页读取阈值420-b的右侧,而上部位值0可被写入上部页读取阈值420-c的左侧。在一些实例中,数据可以存储在存储器单元中,使得码字可以在相应层级上写入和读取(例如,码字的每个位可以存储在存储器单元的下部层级上,并且第二码字的每个位可以存储在存储器单元的上部层级上)。
在一些实例中,存储器系统可以使用与存储器单元的层级相关联的计数器集。例如,每个层级(例如,页)可以与相应计数器相关联。在具有上部层级和下部层级的图4的实例中,存储器系统可以包含与读取阈值420-b相关联的第一计数器和与读取阈值420-a和420-c相关联的第二计数器。在此类实例中,存储器系统可以SLC方式递增第一计数器。例如,第一计数器可以递增以跟踪存储下部页位逻辑值0或1的存储器单元的数量。
存储器系统可使用一或多个逻辑门递增第二计数器。例如,存储器系统可以包含逻辑电路(例如,一或多个布尔或其它逻辑门),并且可以响应于逻辑电路的输出而递增计数器。存储器系统可使用指示具有逻辑门的第一结果的存储器单元数量的计数器来调整阈值420(例如,存储器系统可将所述数量与阈值或具有第二结果的存储器单元的第二数量进行比较,并使用所述比较来调整与计数器相关联的阈值420)。在一些情况下,逻辑电路可包含XNOR逻辑门。例如,同一存储器单元的上部页位和下部页位可以输入到XNOR逻辑门。如果两个输入相同,则XNOR逻辑门可配置成输出第一逻辑值(例如,1),如果两个输入不同,则输出第二逻辑值(例如,0),这两个输入包含存储器单元的相应第一位(例如,下部页位)和存储器单元的相应第二位(例如,上部页位)。另外或替代地,对于一或多个计数器可使用其它逻辑门(例如,XOR逻辑门)。例如,如果两个输入(例如,下部页位和上部页位)不同,则XOR逻辑门可配置成输出第一逻辑值(例如,1)。
因此,存储器系统可以实施一种算法,以使用计数器指示的值来确定任何数量的层级(例如,由存储器单元存储的位)的读取阈值420的调整方向或幅度。算法可以包含确定跨每个层级存储的多余逻辑值(例如,多余的1),并响应多余的1或0的总数在幅度或方向上移位读取阈值420。例如,存储器系统可以如上所述以SLC方式递增第一计数器(例如,存储器系统可以对1的数量进行计数,其可用于确定数据的下部位层级中的多余的1)。存储器系统可以使用下部位和上部位的逻辑运算(例如,XNOR)来递增第二计数器。因此存储器系统可以确定存储在读取阈值420-a和420-c右侧的多余位。如果单元中存储了超过两个位,则存储器系统可以对更多计数器执行此类操作(例如,对于TLC,存储器系统可以将所有三个位作为输入进行XOR,跟踪1的数量,并减去数据或码字中存储器单元的一半,以计算4个额外位层级阈值左侧的位数)。因此,存储器系统可以获得与第一计数器相关联的指示下部层级的多余1的第一计数、与第二计数器相关联的指示上部层级中的多余1的第二计数,以此类推。例如,存储器系统可以执行由计数器指示的值的线性组合,其将指示跨每个位层级多余的1的总数。例如,第一计数可以是计数器的值,第二计数可以是第二计数器的值乘以二,第三计数可以是第三计数器的值乘以四,依此类推。所得值(例如,线性组合)可用于确定所有阈值420移位的方向或幅度。尽管被描述为对总计数使用线性组合,但是应理解,可以使用任何技术来评估与存储器单元的每个层级相关联的计数器所指示的值。
另外或替代地,存储器系统可使用分别与读取阈值集420相关联的计数器集。换句话说,计数器集中的每个计数器可对应于读取阈值集420中的相应读取阈值420。每个计数器可以跟踪由数据存储的用于相应读取阈值420的逻辑值的数量。例如,对于具有超过四个读取阈值420-c的存储器单元,下部页读取阈值420-b可对应于指示从存储器单元的下部层级读取的1的数量的第一计数器,第二计数器可对应于指示从分布415-b读取的1的数量的上部页读取阈值420-a,第三计数器可对应于指示从存储器单元的上部层级读取的1的数量的上部页读取阈值420-c,依此类推。存储器系统可以实施调整操作以确定每个阈值的计数。例如,存储器系统可以迭代地调整与每个相应读取阈值420相关联的每个计数器的计数,以确定每个读取阈值420的准确计数。换句话说,此类调整操作可以考虑其它计数器的计数,这可以提高计数的准确性。作为说明性实例,由于错误地来自分布415-d的1的量和错误地来自分布415-c的0的相等量,存储器系统可以跨读取阈值420-b读取偶数数量的0和1。因此,存储器系统可以使用边缘读取阈值420-a和420-c来首先确定多余逻辑值的数量(例如,位可能只从一个方向被错误读取,因此对于曲线图400边缘上的读取阈值420,多余计数是准确的)。然后,存储器系统可以通过从边缘阈值420中减去任何多余的逻辑值来调整读取阈值420-b的计数器的计数,这产生读取阈值420-b的多余逻辑值的准确数量。对于每个逻辑单元存储的更多位,此类技术可以扩展到更多读取阈值420。
存储器系统可以使用计数器集来执行一或多个读取阈值420的调整。例如,存储器系统可以选择方向、幅度或者二者以响应于由一或多个计数器指示的数量来调整(例如,移位)读取阈值220(例如,计数器的线性组合以将阈值一起移位,或者存储器系统可以单独处理每个读取阈值420,并在偏移多余逻辑值的数量的方向上移位)。作为一个说明性实例,线性组合可指示读取阈值420相对过右,并且存储器系统可将读取阈值420向左调整达由多余逻辑值(例如,多余1)的数量缩放的幅度。
在调整读取阈值420之后,存储器系统可以执行另一读取操作。例如,存储器系统可以使用调整的读取阈值420来读取数据。通过响应于计数器在所选方向或幅度上调整读取阈值420,可以消除或减少数据中的错误,使得可以使用ECC代码来纠正任何剩余的错误,或者存储器系统可以主动调整阈值以减少读取干扰等的影响。在一些实例中,存储器系统可执行附加或替代调整225。例如,如果第二读取操作导致另一不可纠正错误或相对较高错误数量,则存储器系统可以重复比较和调整过程,直到成功读取为止。替代地,存储器系统可响应于第二不可纠正错误或者在调整后错误数量增加的情况下在相反方向上执行调整(例如,存储器系统可对于第二操作在第一方向上移位阈值,并且响应于第二操作包含不可纠正错误而对于第三操作将阈值从初始位置移位到相反方向)。
虽然为了说明清楚而示出为每单元两个位,但是应理解,参考图4描述的概念可实施用于存储任何数量的位的其它单元类型(例如,其它多位单元,例如TLC或QLC)。例如,TLC系统可以包含7个阈值420,并使用一或多个计数器来调整阈值420,如本文参考图6和7所描述。
图5示出根据本文公开的实例支持存储器的读取阈值调整技术的系统500的实例。在一些实例中,系统500可以是参考图1-4描述的系统100、曲线图200、系统300和/或曲线图400的实例或包含其方面。例如,系统500可以包含存储器505,其可以是如本文描述的存储器阵列的实例(例如,NAND多位存储器单元的阵列)。系统500可以说明使用解码器510、一或多个计数器515和比较组件520调整读取阈值的实例实施方案。尽管为了说明清楚,系统500的各个组件被单独地示出,但它们可以被组合或位于不同于所示的位置(例如,解码器510可以在逻辑上包含计数器515和比较组件520)。
在一些实例中,系统500可以包含编码器535。编码器535可以是如本文描述的编码器的实例(例如,编码器335)。例如,编码器535可配置成如本文参考图2-4所述将用户数据加扰为码字。例如,编码器535可以接收用户数据,并使用加扰器生成0和1的平衡序列。编码器535可另外或替代地配置成使用ECC码对码字进行编码,以在稍后从存储器505读取码字时支持错误检测或纠正过程。
系统500可以示出用于使用本文描述的技术(包含参考图2)执行一或多个读取阈值的一或多个调整525的数据路径。例如,可以从存储器505读取数据(例如,码字)。可以将数据输入到解码器510。也可以将数据输入到计数器515-a、计数器515-b或两者。解码器510可响应于解码数据而检测不可纠正错误530。另外或替代地,错误530可以是满足阈值的错误数量(例如,如果错误数量满足阈值,则即使错误是可纠正的,存储器系统也可以调整读取阈值)。在一些实例中,解码器510可以包含ECC解码器之外或替代ECC解码器的解扰器。例如,解码器510可以配置成作为读取操作的一部分将码字解扰到原始用户数据。另外或替代地,计数器515可以跟踪与第一逻辑值相对应的数据中的位数量(例如,计数器515-a和/或计数器515-b可以在每次从存储器单元的相应第一位或相应第二位读取1或0时递增),或者跟踪与逻辑电路集输出的第一结果相对应的存储器单元数量(例如,每当逻辑电路输出第一结果或第二结果时,例如,存储器单元的上部页位和下部页位是相同的逻辑值的情况下输出1时,计数器515-a和/或计数器515-b可以递增),如本文包含参考图4所描述。
在一些实例中,系统500可以包含逻辑电路540。逻辑电路540可配置成执行本文中属于与调整一或多个读取阈值有关的逻辑电路或逻辑门的任何操作。例如,逻辑电路540可以包含逻辑门(例如,XNOR逻辑门),配置成接收一或多个输入(例如,从与码字相关联的每个存储器单元读取的相应上部位和相应下部位),并输出对应结果(例如,向计数器515-b输出1),指示这两个输入是相同的还是不同的,以及其它可能性。
比较组件520可以从一或多个计数器515接收位数量的指示、数据包含来自解码器510的不可纠正错误530的指示或其任何组合。例如,如果解码器510检测到数据中的错误530是不可纠正的(例如,数据包含用于ECC方案的不可纠正错误数量),则解码器510可以向比较组件520指示错误530。如本文包含参考图4所描述,比较组件520可以将位数量与第二位数量(例如,0的数量与1的数量)或阈值进行比较。另外或替代地,比较组件520或另一组件可确定第一计数器515-a和计数器515-b的线性组合,并使用结果来确定调整525的方向或幅度。
存储器系统可响应于来自比较组件520的结果执行调整525。例如,如果比较组件520指示读取阈值与本文描述的理想读取阈值位置相对过远,则存储器系统可以根据计数的幅度和方向选择调整方向、调整幅度或两者(例如,为了减少由于读取阈值的当前位置而作为另一分布的一部分被错误读取的位数量,以及本文参考图4描述的其它实例)。在此类实例中,存储器系统可以执行调整525-a(例如,存储器系统可以向左移位一或多个阈值)、调整525-b(例如,存储器系统可以向右移位一或多个阈值)以及其组合,如参考图4所描述。
在一些实例中,系统500可以包含一或多个附加计数器515。例如,如参考图4所描述,系统500可以包含用于每个读取阈值的计数器515(例如,对于MLC,系统500可以包含3个计数器515)。在一些此类实例中,系统可以不包含逻辑电路540(例如,如果针对相应读取阈值读取1或0,则每个计数器515可以递增)。在单独处理读取阈值的此类情况下,比较组件520可以执行参考图4描述的操作。例如,比较组件520可以迭代地调整计数器515的值,以获得每个计数器515的准确多余计数,并在每个阈值的基础上执行调整525-a或525-b,以及其它实例。
图6示出根据本文公开的实例支持存储器的读取阈值调整技术的实例读取分布的曲线图600。曲线图600可以是由参考图1描述的系统100实施的操作的实例。曲线图600可以实施分别参考图4和5描述的曲线图400或系统500的方面。通常,曲线图600可以示出存储器阵列中的TLC数据的实例分布615。作为说明性实例,曲线图600示出存储三个层级上的三个位的存储器单元的阈值620和分布615,但是本文的教导的方面可以扩展到各自存储任何数量的位的存储器单元。
曲线图600可以包含读取阈值620-a、读取阈值620-b、读取阈值620-c、读取阈值620-d、读取阈值620-e、读取阈值620-f和读取阈值620-g,它们可以是电压阈值的实例,但是可以另外或替代地使用电流阈值或电荷阈值。存储器系统可以使用读取阈值620读取存储器单元。例如,存储器系统可以将响应于读取存储器单元而生成的信号的电压与读取阈值620进行比较,并响应于比较电压而识别逻辑值。
在一些实例中,不同阈值620可与存储在存储器单元中的相应位相关联。作为存储三位的TLC存储器单元的实例,阈值620-d可与存储器单元的相应第一位相关联,所述第一位可被称为存储器单元的“下部位”或“下部页位”。在一些情况下,阈值620-d可被称为“下部页阈值”或“下部层级阈值”。阈值620-b和阈值620-f可与存储器单元的相应第二位相关联,所述第二位可被称为存储器单元的“上部位”或“上部页位”。在一些情况下,阈值620-b和620-f可被称为“上部页阈值”或“上部层级阈值”。阈值620-a、620-c、620-e和620-g可与存储器单元的相应第三位相关联,所述第三位可被称为存储器单元的“额外位”或“额外页位”。在一些情况下,阈值620-a、620-c、620-e和620-g可被称为“额外页阈值”或“额外层级阈值”。另外或替代地,下部层级可被称为第一层级,上部层级可被称为第二层级,且额外层级可被称为第三层级。
尽管示出为对应于三个位的集的每个分布615(例如,分别对应于1、1和1的下部页、上部页和额外页位的分布615-a),但应理解,可以使用位和分布的任何布局或定向。在一些实例中,逻辑值、分布615和读取阈值620可以不同于所描述的(例如,分布615和读取阈值620可以与不同的逻辑值、下部页位或上部页位相关联)。尽管为了说明清楚而示出为抛物线曲线,但应理解,分布615可以是任何形状或与任何逻辑值相关联。
在所示的实例中,如果存储器单元的电压信号小于阈值620-d,则存储器单元可以将相应第一位(例如,下部页位)读取为1。如果相应第一位为1,则存储器系统可以使用读取阈值620-b读取相应第二位(例如,上部页位)。例如,如果电压信号小于阈值620-b,则存储器系统可将第二位读取为1,且如果电压信号大于阈值620-b,则存储器系统可将第二位读取为0。如果相应第二位为1,则存储器系统可使用读取阈值620-a读取相应第三位(例如,额外页位)。例如,如果电压信号小于阈值620-a,则存储器系统可以将第三位读取为1,而如果信号大于阈值620-a,则读取为0。
在一些实例中,分布615中的一或多个可以随着时间而移位,使得一或多个读取阈值620偏离理想读取阈值,这可能导致如本文描述的数据中的一或多个错误。因此,存储器系统可以使用一或多个计数器来调整一或多个读取阈值620。
在一些实例中,对于配置成存储两个或更多个信息位的多位单元(例如,MLC、TLC、QLC等),存储器系统可以实现多个计数器。在图6所示的TLC单元的实例中,在一些情况下,存储器系统可以使用与存储器单元的每个层级相关联的计数器集。例如,第一计数器可对应于第一层级(例如,读取阈值620-d),第二计数器可对应于第二层级(例如,读取阈值620-b和620-f),且第三计数器可对应于第三层级(例如,读取阈值620-a、620-c、620-e和620-g)。
存储器系统可以使用如本文参考图4所述的算法,但所述算法被扩展并适于适应附加层级,递增计数器并确定方向、幅度或两者,以使用三个计数器的线性组合来调整读取阈值620。例如,存储器系统可递增第一计数器以跟踪存储下部页位逻辑值1的存储器单元的数量以获得下部页多余的1。存储器系统可使用如本文描述的逻辑门(例如,XOR或XNOR逻辑门)递增第二计数器。通过使用逻辑门,第二计数器可指示在阈值620-b和620-f的右侧(或左侧)存储上部位逻辑值的单元数量。类似地,存储器系统可递增第三计数器,使得第三计数器指示在阈值620-a、620-c、620-e和620-g的右侧(或左侧)存储额外位逻辑值的单元数量。存储器系统可获得与第一计数器相关联的指示下部层级的多余1的第一计数、与第二计数器相关联的指示上部层级中的多余1的第二计数,以及与第三计数器相关联的指示额外层级的多余1的第三计数。例如,存储器系统可以执行由计数器指示的值的线性组合,其将指示跨每个位层级多余的1的总数。例如,第一计数可以是计数器的值,第二计数可以是第二计数器的值乘以二,第三计数可以是第三计数器的值乘以四,依此类推。所得值(例如,线性组合)可用于确定所有阈值620移位的方向或幅度。尽管被描述为对总计数使用线性组合,但是应理解,可以使用任何技术来评估与存储器单元的每个层级相关联的计数器所指示的值。
另外或替代地,存储器系统可使用分别与读取阈值集620相关联的计数器集。换句话说,计数器集中的每个计数器可对应于读取阈值集620中的相应读取阈值620(例如,存储器系统可将曲线图600中的七个计数器用于TLC存储器单元)。存储器系统可以如本文参考图4所述,迭代地调整每个计数器的计数。例如,存储器系统可确定边缘读取阈值620-a计数(或另一边缘读取阈值620-g的计数)。边缘阈值计数可能是准确的,因为错误读取的任何位都会丢失到下一个分布中或从下一个分布中获得(例如,由于单个额外的1或0,可能会获得多余1或0的准确数量)。存储器系统可以使用边缘读取阈值的计数来获得下一读取阈值620的准确计数。例如,存储器系统可以从读取阈值620-b的计数器中减去读取阈值620-a的计数器的多余1。通过考虑边缘阈值的逻辑值的多余(或缺乏),可以获得读取阈值620-b的计数器的准确计数。存储器系统可以对每个读取阈值62迭代此类过程,这可以使存储器系统能够单独地处理每个读取阈值620(例如,存储器系统可以使用每个单独的调整计数来为每个读取阈值620选择调整的方向或幅度)。
在一些实例中,存储器系统可以基于存储器单元的子集来确定计数器集中的每个计数器(例如,对应于相应读取阈值620的每个计数器)的计数。例如,每个读取阈值620可对应于存储器单元中的多个层级中的一个的不同逻辑值。也就是说,对于相应读取阈值620,存储器单元的单个层级可以根据电压位于读取阈值620的哪一侧而改变逻辑值(例如,单元的其它层级可以不改变读取阈值620的逻辑值)。换句话说,存储器单元的其它层级可以是恒定的,并且当跨读取阈值620时,其中一个层级可以是可变的。在一些此类实例中,存储器系统可以选择存储器单元的子集,以确定对应于相应读取阈值620的计数器的计数。例如,存储器系统可以分析(例如,查看)具有一或多个层级的存储器单元,其逻辑值对于相应读取阈值620是恒定的。存储器系统可以确定具有第一逻辑值或第二逻辑值的存储器单元子集的计数,其对应于读取阈值620的层级不是恒定的。作为说明性实例,对于读取阈值620-b,下部位和额外位可以分别是相同的值1和0,而无论电压位于读取阈值620-b的左侧还是右侧。存储器系统可选择具有下部位值1和额外位值0的存储器单元,以确定与读取阈值620-b相关联的计数。例如,存储器系统可以从具有下部位值1和额外位值0的存储器单元子集中确定有多少上部位具有第一逻辑值(例如,1或0)。在一些情况下,存储器系统可对每个计数器(例如,每个读取阈值620)执行此类计数,并如本文所述调整计数(例如,使用边缘阈值计数并迭代地调整每个计数)。
虽然为了说明清楚而示出为每个单元三位,但是应理解,本文参考图6和其它地方描述的概念可以针对存储任何数量位的其它单元类型(例如,其它多位单元,例如QLC)进行扩展和实施。
图7示出根据本文公开的实例支持存储器的读取阈值调整技术的系统700的实例。在一些实例中,系统700可以是参考图1-6描述的系统和曲线图的实例或包含其方面。例如,系统700可以包含存储器705,其可以是如本文描述的存储器阵列的实例(例如,NAND多位存储器单元的阵列)。系统700可以说明使用解码器710、一或多个计数器715和比较组件720调整读取阈值的实例实施方案。尽管为了说明清楚,系统700的各个组件被单独地示出,但它们可以被组合或位于不同于所示的位置(例如,解码器710可以在逻辑上包含计数器715和比较组件720)。
在一些实例中,系统700可以包含编码器735。编码器735可以是如本文描述的编码器(例如,编码器335)的实例。例如,编码器735可配置成如本文参考图2-6所述将用户数据加扰为码字。例如,编码器735可以接收用户数据,并使用加扰器生成0和1的平衡序列。编码器735可附加地或替代地配置成响应于ECC码对码字进行编码,以在稍后从存储器705读取码字时支持错误检测或纠正过程。
系统700可以示出用于使用本文描述的技术(包括参考图6)执行一或多个读取阈值的一或多个调整725的数据路径。例如,可以从存储器705读取数据(例如,码字)。数据可以输入到解码器710。数据还可以输入到计数器715-a、计数器715-b和计数器715-c。计数器715可以是参考图6所述的第一计数器、第二计数器和第三计数器的实例。
解码器710可响应于解码数据而检测不可纠正错误730。另外或替代地,错误730可以是满足阈值的错误数量(例如,如果错误数量满足阈值,则即使错误是可纠正的,存储器系统也可以调整读取阈值)。在一些实例中,解码器710可以包含ECC解码器之外或替代ECC解码器的解扰器。例如,解码器710可以配置成作为读取操作的一部分将码字解扰到原始用户数据。另外或替代地,计数器715可以跟踪数据中与第一逻辑值相对应的位数量(例如,每次从存储器单元的相应第一位、相应第二位或相应第三位读取1或0时,计数器715可以递增),或者跟踪与逻辑电路集输出的第一结果相对应的存储器单元的数量(例如,计数器715-b和/或计数器715-c可在逻辑电路每次输出第一结果或第二结果(例如三位的XOR或XNOR结果)时递增),如本文包含参考图4和6所描述。
在一些实例中,系统700可以包含逻辑电路740。逻辑电路740可配置成执行本文描述的与调整一或多个读取阈值有关的逻辑电路或逻辑门的任何操作。例如,逻辑电路740-a可以包含逻辑门(例如,XNOR逻辑门),所述逻辑门配置成接收一或多个输入(例如,从每个存储器单元读取的相应上部位和相应下部位),并输出对应结果(例如,向计数器715-b输出1),指示这两个输入是相同的还是不同的,以及其它可能性。逻辑电路740-b可以包含逻辑门(例如,XOR逻辑门),所述逻辑门配置成接收一或多个输入(例如,从每个存储器单元读取的相应上部位、相应下部位和相应额外位),并输出对应结果(例如,向计数器715-c输出1),指示这两个输入是相同的还是不同的,以及其它可能性。
比较组件720可以从一或多个计数器715接收位数量的指示、数据包含来自解码器710的不可纠正错误730的指示或其任何组合。例如,如果解码器710检测到数据中的错误730是不可纠正的(例如,数据包含用于ECC方案的不可纠正错误量),则解码器710可以向比较组件720指示错误730。如本文包含参考图4所描述,比较组件720可将位数量与第二位数量(例如,0的数量与1的数量)或阈值进行比较。另外或替代地,比较组件720或另一组件可确定第一计数器715-a和计数器715-b的线性组合,并使用结果来确定调整725的方向或幅度,如参考图4和6所描述。
存储器系统可响应于来自比较组件720的结果执行调整725。例如,如果比较组件720指示读取阈值与本文描述的理想读取阈值位置相对过远,则存储器系统可以根据计数的幅度和方向选择调整方向、调整幅度或两者(例如,为了减少由于读取阈值的当前位置而作为另一分布的一部分被错误读取的位数量,以及本文参考图4描述的其它实例)。在此类实例中,存储器系统可以执行调整725-a(例如,存储器系统可以向左移位一或多个阈值)、调整725-b(例如,存储器系统可以向右移位一或多个阈值)以及其组合,如参考图4和6所描述。
在一些实例中,系统700可以包含一或多个附加计数器715。例如,如参考图4或6所述,系统700可以包含用于每个读取阈值的计数器715(例如,对于TLC,系统700可以包含7个计数器715)。在一些此类实例中,系统可以不包含逻辑电路740(例如,如果针对相应读取阈值读取1或0,则每个计数器715可以递增)。在单独处理读取阈值的此类情况下,比较组件720可以执行参考图4和6描述的操作。例如,比较组件720可以迭代地调整计数器715的值,以获得每个计数器715的准确多余计数,并在每个阈值的基础上执行调整725-a或725-b,以及其它实例。
图8示出根据本文公开的实例支持存储器的读取阈值调整技术的框图800的实例。存储器系统805可以是如参考图1-7描述的存储器系统的方面的实例。在一些实例中,存储器系统805可以被称为存储器装置,或者可以包含一或多个存储器装置。存储器系统805可以包含读取组件810、计数器组件815、错误组件820、读取阈值组件825、比较组件830、选择组件835和调整组件840。这些模块中的每一者可以直接或间接地彼此通信(例如,经由一或多个总线)。
读取组件810可配置为或以其它方式支持用于以下操作的构件:使用具有第一值的读取阈值从一或多个存储器装置的存储器阵列读取码字。计数器组件815可配置为或以其它方式支持用于以下操作的构件:至少部分地基于读取码字而递增一或多个存储器装置的计数器,所述计数器指示对应于第一逻辑值的码字的位数量。错误组件820可配置为或以其它方式支持用于以下操作的构件:在读取码字之后检测码字中的错误。读取阈值组件825可配置为或以其它方式支持用于以下操作的构件:响应于由计数器指示的位数量,将读取阈值从第一值调整为第二值。读取组件810可配置为或以其它方式支持用于以下操作的构件:使用具有第二值的读取阈值从存储器阵列读取码字。
比较组件830可配置为或以其它方式支持用于以下操作的构件:将对应于第一逻辑值的码字的位数量与对应于第二逻辑值的码字的第二位数量进行比较,其中将读取阈值从第一值调整为第二值是响应于比较。在一些实例中,选择组件835可配置为或以其它方式支持用于以下操作的构件:选择与响应于比较来调整读取阈值相关联的调整方向、调整幅度或两者。在一些实例中,读取阈值组件825可配置为或以其它方式支持用于以下操作的构件:根据选择的调整方向、调整幅度或两者,将读取阈值从第一值调整为第二值。
在一些实例中,比较组件830可配置为或以其它方式支持用于以下操作的构件:响应于比较而确定对应于第一逻辑值的码字的位数量满足阈值。选择组件835可配置为或以其它方式支持用于以下操作的构件:响应于位数量满足阈值,选择与调整读取阈值相关联的调整方向、调整幅度或两者。
在一些实例中,读取阈值组件825可配置为或以其它方式支持用于以下操作的构件:将读取阈值调整达对应于由计数器指示的位数量的幅度、方向或两者。
错误组件820可配置为或以其它方式支持用于以下操作的构件:确定错误是纠错码方案的不可纠正错误,其中检测错误是响应于纠错码方案,并且其中调整读取阈值是响应于错误对于纠错码方案是不可纠正的。
在一些实例中,读取阈值包含电压阈值、电流阈值、电荷阈值或其任何组合。
在一些实例中,错误组件820可配置为或以其它方式支持用于以下操作的构件:至少部分地基于使用具有第二值的读取阈值读取码字来检测码字中的第二错误。读取阈值组件825可配置为或以其它方式支持用于以下操作的构件:在检测到第二错误时,将读取阈值从第二值调整为第三值。
在一些实例中,读取组件810可配置为或以其它方式支持用于以下操作的构件:使用至少三个读取阈值从一或多个存储器装置内的存储器单元集读取数据,所述存储器单元集中的每个存储器单元配置成存储相应多个位,每个位对应于多个层级中的相应层级,每个层级对应于至少三个读取阈值的相应读取阈值子集。计数器组件815可配置为或以其它方式支持用于以下操作的构件:至少部分地基于读取数据而递增计数器集中的每个计数器,计数器集包含对应于多个层级中的第一层级的第一计数器和对应于多个层级中的第二层级的第二计数器。错误组件820可配置为或以其它方式支持用于以下操作的构件:至少部分地基于使用至少三个读取阈值读取数据而检测数据中的错误。读取阈值组件825可配置为或以其它方式支持用于以下操作的构件:至少部分地基于计数器集调整至少三个读取阈值中的一或多个。在一些实例中,读取组件810可配置为或以其它方式支持用于以下操作的构件:在调整至少三个读取阈值中的一或多个之后,从存储器阵列读取数据。
在一些实例中,为了支持递增计数器集中的每个计数器,计数器组件815可配置为或以其它方式支持用于以下操作的构件:递增对应于第一层级的第一计数器,第一计数器指示对应于第一逻辑值的存储器单元集存储的位数量。在一些实例中,为了支持递增计数器集中的每个计数器,计数器组件815可配置为或以其它方式支持用于以下操作的构件:递增对应于第二层级的第二计数器,第二计数器指示对应于特定逻辑值的来自一或多个逻辑门的输出数量。
在一些实例中,到一或多个逻辑门的输入包含第一存储器单元存储的第一位和第一存储器单元存储的第二位,第一位对应于第一层级且第二位对应于第二层级。
在一些实例中,为了递增计数器集中的每个计数器,计数器组件815可配置为或以其它方式支持用于以下操作的构件:递增对应于多个层级中的第三层级的第三计数器,第三计数器指示对应于特定逻辑值的来自一或多个逻辑门的第二输出数量,其中到一或多个逻辑门的输入包含第一存储器单元存储的第一位、第一存储器单元存储的第二位和第一存储器单元存储的第三位。在一些实例中,为了递增计数器集中的每个计数器,计数器组件815可配置为或以其它方式支持用于以下操作的构件:其中第一位对应于第一层级,第二位对应于第二层级,并且第三位对应于第三层级。
在一些实例中,计数器组件815可配置为或以其它方式支持用于以下操作的构件:至少部分地基于计数的组合确定对应于第一逻辑值的位数量,所述计数中的每一个由计数器集中的相应计数器指示。在一些实例中,计数的组合包含由第一计数器指示的第一计数、由第二计数器指示的第二计数、由第三计数器指示的第三计数、由第四计数器指示的第四计数或其任何组合的线性组合。
在一些实例中,至少三个读取阈值的调整的方向、幅度或两者是至少部分地基于对应于第一逻辑值的位数量。在一些实例中,为了支持调整,读取阈值组件825可配置为或以其它方式支持用于以下操作的构件:在由计数器集指示的方向上调整至少三个读取阈值。在一些实例中,为了支持调整,读取阈值组件825可配置为或以其它方式支持用于以下操作的构件:将至少三个读取阈值调整达由计数器集指示的幅度。
在一些实例中,选择组件835可配置为或以其它方式支持用于以下操作的构件:选择与至少部分地基于计数器集调整至少三个读取阈值中的一或多个相关联的调整方向、调整幅度或两者。
在一些实例中,错误组件820可配置为或以其它方式支持用于以下操作的构件:在调整至少三个读取阈值中的一或多个之后,至少部分地基于从存储器阵列读取数据而检测数据中的第二错误。在一些实例中,读取阈值组件825可配置为或以其它方式支持用于以下操作的构件:至少部分地基于检测到第二错误,重新调整至少三个读取阈值中的一或多个。在一些实例中,至少三个读取阈值各自包含相应电压阈值、相应电流阈值或其任何组合。
在一些实例中,读取组件810可配置为或以其它方式支持用于以下操作的构件:使用至少三个读取阈值从一或多个存储器装置内的存储器单元集读取数据,存储器单元集中的每个存储器单元配置成存储至少两个位。在一些实例中,计数器组件815可配置为或以其它方式支持用于以下操作的构件:至少部分地基于使用至少三个读取阈值读取数据,递增计数器集中的每个计数器,其中计数器集中的每个计数器对应于至少三个读取阈值中的相应读取阈值并且指示对应于第一逻辑值的数据的相应位数量。调整组件840可配置为或以其它方式支持用于以下操作的构件:使用由计数器集中的第二计数器指示的第二数量,调整由计数器集中的第一计数器指示的第一数量。在一些实例中,读取阈值组件825可配置为或以其它方式支持用于以下操作的构件:在调整由第一计数器指示的第一数量之后,至少部分地基于计数器集调整至少三个读取阈值中的一或多个。在一些实例中,读取组件810可配置为或以其它方式支持用于以下操作的构件:在调整至少三个读取阈值中的一或多个之后,从存储器阵列读取数据。
在一些实例中,计数器组件815可配置为或以其它方式支持用于以下操作的构件:确定由第一计数器指示的第一数量,所述第一数量指示对应于第一逻辑值的至少三个读取阈值中的第一相应阈值的位数量。在一些实例中,计数器组件815可配置为或以其它方式支持用于以下操作的构件:确定由第二计数器指示的第二数量,第二数量指示对应于第一逻辑值的至少三个读取阈值中的第二相应阈值的位数量。
在一些实例中,为了支持调整第一数量,调整组件840可配置为或以其它方式支持用于以下操作的构件:从第一数量中减去第二数量。在一些实例中,调整组件840可配置为或以其它方式支持用于以下操作的构件:至少部分地基于第一数量、第二数量或两者,调整由计数器集中的第三计数器指示的第三数量。
在一些实例中,读取阈值组件825可配置为或以其它方式支持用于以下操作的构件:在由第一计数器指示的方向上调整至少三个读取阈值中的第一阈值,在由第二计数器指示的方向上调整至少三个读取阈值中的第二阈值,在由第三计数器指示的方向上调整至少三个读取阈值中的第三阈值,在由第四计数器指示的方向上调整至少三个读取阈值中的第四阈值,或其任何组合。
在一些实例中,读取阈值组件825可配置为或以其它方式支持用于以下操作的构件:调整至少三个读取阈值中的第一阈值达由第一计数器指示的幅度,调整至少三个读取阈值中的第二阈值达由第二计数器指示的幅度,调整至少三个读取阈值中的第三阈值达由第三计数器指示的幅度,调整至少三个读取阈值中的第四阈值达由第四计数器指示的幅度,或其任何组合。
在一些实例中,读取阈值组件825可配置为或以其它方式支持用于以下操作的构件:针对至少三个读取阈值中的每个读取阈值从存储器单元集选择存储器单元子集,其中相应存储器单元子集对应于相应读取阈值和相应计数器;基于对应于第一逻辑状态的相应存储器单元子集的数量,递增相应计数器。
图9示出根据本文公开的实例支持存储器的读取阈值调整技术的方法900的流程图。方法900的操作可以由如本文描述的存储器系统或其组件来实施。例如,方法900的操作可由如参考图1到8描述的存储器系统来执行。在一些实例中,存储器系统可以执行指令集以控制装置的功能元件从而执行所描述功能。另外或替代地,存储器系统可以使用专用硬件来执行所描述的功能的各方面。
在905,所述方法可包含使用具有第一值的读取阈值从一或多个存储器装置的存储器阵列读取码字。905的操作可根据如本文公开的实例来执行。在一些实例中,905的操作的方面可由如参考图8描述的读取组件810来执行。
在910,所述方法可包含至少部分地基于读取码字而递增计数器,所述计数器指示对应于第一逻辑值的码字的位数量。910的操作可根据如本文公开的实例来执行。在一些实例中,910的操作的方面可由如参考图8描述的计数器组件815来执行。
在915,所述方法可包含在读取码字之后检测码字中的错误。915的操作可根据如本文公开的实例来执行。在一些实例中,915的操作的方面可由如参考图8描述的错误组件820来执行。
在920,所述方法可包含至少部分地基于由计数器指示的位数量,将读取阈值从第一值调整为第二值。920的操作可根据如本文公开的实例来执行。在一些实例中,920的操作的方面可由如参考图8描述的读取阈值组件825来执行。
在925,所述方法可包含使用具有第二值的读取阈值从存储器阵列读取码字。925的操作可根据如本文公开的实例来执行。在一些实例中,925的操作的方面可由如参考图8描述的读取组件810来执行。
在一些实例中,如本文中所描述的设备可以执行一或多个方法,例如方法900。所述设备可包含用于进行以下操作的特征、电路、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):使用具有第一值的读取阈值从一或多个存储器装置的存储器阵列读取码字;至少部分地基于读取码字而递增计数器,计数器指示对应于第一逻辑值的码字的位数量;在读取码字之后检测码字中的错误;至少部分地基于由计数器指示的位数量,将读取阈值从第一值调整为第二值;以及使用具有第二值的读取阈值从存储器阵列读取码字。
本文描述的方法900和设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:将对应于第一逻辑值的码字的位数量与对应于第二逻辑值的码字的第二位数量进行比较,其中将读取阈值从第一值调整为第二值可至少部分地基于比较。
本文描述的方法900和设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:选择与至少部分地基于比较来调整读取阈值相关联的调整方向、调整幅度或两者。
本文描述的方法900和设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:根据选择的调整方向、调整幅度或两者,将读取阈值从第一值调整为第二值。
本文描述的方法900和设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:至少部分地基于递增而确定对应于第一逻辑值的码字的位数量满足阈值;以及至少部分地基于位数量满足阈值,选择与调整读取阈值相关联的调整方向、调整幅度或两者。
本文描述的方法900和设备的一些实例可进一步包含用于调整读取阈值的操作、特征、电路、逻辑、构件或指令,其可包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:将读取阈值调整达对应于由计数器指示的位数量的幅度、方向或两者。
本文描述的方法900和设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:确定错误可以是纠错码方案的不可纠正错误,其中检测错误可至少部分地基于纠错码方案,并且其中调整读取阈值可至少部分地基于错误对于纠错码方案是不可纠正的。
在本文描述的方法900和设备的一些实例中,读取阈值可以是电压阈值、电流阈值、电荷阈值或其任何组合。
本文描述的方法900和设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:至少部分地基于使用具有第二值的读取阈值读取码字来检测码字中的第二错误;以及至少部分地基于检测到的第二错误,将读取阈值从第二值调整为第三值。
图10示出根据本文公开的实例支持存储器的读取阈值调整技术的方法1000的流程图。方法1000的操作可以由如本文描述的存储器系统或其组件来实施。例如,方法1000的操作可由如参考图1到8描述的存储器系统来执行。在一些实例中,存储器系统可以执行指令集以控制装置的功能元件从而执行所描述功能。另外或替代地,存储器系统可以使用专用硬件来执行所描述的功能的各方面。
在1005,所述方法可包含使用至少三个读取阈值从一或多个存储器装置内的存储器单元集读取数据,存储器单元集中的每个存储器单元配置成存储相应多个位,每个位对应于多个层级中的相应层级,每个层级对应于至少三个读取阈值中的相应读取阈值子集。1005的操作可根据如本文公开的实例来执行。在一些实例中,1005的操作的方面可由如参考图8描述的读取组件810来执行。
在1010,所述方法可包含至少部分地基于读取数据,递增计数器集中的每个计数器,计数器集包含对应于多个层级中的第一层级的第一计数器和对应于多个层级中的第二层级的第二计数器。1010的操作可根据如本文公开的实例来执行。在一些实例中,1010的操作的方面可由如参考图8描述的计数器组件815来执行。
在1015,所述方法可包含至少部分地基于使用至少三个读取阈值读取数据,检测数据中的错误。1015的操作可根据如本文公开的实例来执行。在一些实例中,1015的操作的方面可由如参考图8描述的错误组件820来执行。
在1020,所述方法可包含至少部分地基于计数器集调整至少三个读取阈值中的一或多个。1020的操作可根据如本文公开的实例来执行。在一些实例中,1020的操作的方面可由如参考图8描述的读取阈值组件825来执行。
在1025,所述方法可包含在调整至少三个读取阈值中的一或多个之后,从存储器阵列读取数据。1025的操作可根据如本文公开的实例来执行。在一些实例中,1025的操作的方面可由如参考图8描述的读取组件810来执行。
在一些实例中,如本文中所描述的设备可以执行一或多个方法,例如方法1000。所述设备可包含用于进行以下操作的特征、电路、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):使用至少三个读取阈值从一或多个存储器装置内的存储器单元集读取数据,存储器单元集中的每个存储器单元配置成存储相应多个位,每个位对应于多个层级中的相应层级,每个层级对应于至少三个读取阈值中的相应读取阈值子集;至少部分地基于读取数据,递增计数器集中的每个计数器,计数器集包含对应于多个层级中的第一层级的第一计数器和对应于多个层级中的第二层级的第二计数器;至少部分地基于使用至少三个读取阈值读取数据,检测数据中的错误;至少部分地基于计数器集调整至少三个读取阈值中的一或多个;以及在调整至少三个读取阈值中的一或多个之后,从存储器阵列读取数据。
在本文描述的方法1000和设备的一些实例中,用于递增计数器集中的每个计数器的操作、特征、电路、逻辑、构件或指令可包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:递增对应于第一层级的第一计数器,第一计数器指示对应于第一逻辑值的存储器单元集存储的位数量;以及递增对应于第二层级的第二计数器,第二计数器指示对应于特定逻辑值的来自一或多个逻辑门的输出数量。
在本文描述的方法1000和设备的一些实例中,到一或多个逻辑门的输入包含第一存储器单元存储的第一位和第一存储器单元存储的第二位,第一位对应于第一层级且第二位对应于第二层级。
在本文描述的方法1000和设备的一些实例中,用于递增计数器集中的每个计数器的操作、特征、电路、逻辑、构件或指令可包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:递增对应于多个层级中的第三层级的第三计数器,第三计数器指示对应于特定逻辑值的来自一或多个逻辑门的第二输出数量,其中到一或多个逻辑门的输入包含第一存储器单元存储的第一位、第一存储器单元存储的第二位和第一存储器单元存储的第三位,并且其中第一位对应于第一层级,第二位对应于第二层级,并且第三位对应于第三层级。
本文描述的方法1000和设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:至少部分地基于计数的组合确定对应于第一逻辑值的位数量,所述计数中的每一个由计数器集中的相应计数器指示。
在本文描述的方法1000和设备的一些实例中,计数的组合包含由第一计数器指示的第一计数、由第二计数器指示的第二计数、由第三计数器指示的第三计数、由第四计数器指示的第四计数或其任何组合的线性组合。
在本文描述的方法1000和设备的一些实例中,至少三个读取阈值的调整的方向、幅度或两者可至少部分地基于对应于第一逻辑值的位数量。
在本文描述的方法1000和设备的一些实例中,用于调整的操作、特征、电路、逻辑、构件或指令可包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:在由计数器集指示的方向上调整至少三个读取阈值。
在本文描述的方法1000和设备的一些实例中,用于调整的操作、特征、电路、逻辑、构件或指令可包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:将至少三个读取阈值调整达由计数器集指示的幅度。
本文描述的方法1000和设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:选择与至少部分地基于计数器集调整至少三个读取阈值中的一或多个相关联的调整方向、调整幅度或两者。
本文描述的方法1000和设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:在调整至少三个读取阈值中的一或多个之后,至少部分地基于从存储器阵列读取数据而检测数据中的第二错误;以及至少部分地基于检测到第二错误,重新调整至少三个读取阈值中的一或多个。
在本文描述的方法1000和设备的一些实例中,至少三个读取阈值各自包含相应电压阈值、相应电流阈值或其任何组合。
图11示出根据本文公开的实例支持存储器的读取阈值调整技术的方法1100的流程图。方法1100的操作可以由如本文描述的存储器系统或其组件来实施。例如,方法1100的操作可由如参考图1到8描述的存储器系统来执行。在一些实例中,存储器系统可以执行指令集以控制装置的功能元件从而执行所描述功能。另外或替代地,存储器系统可以使用专用硬件来执行所描述的功能的各方面。
在1105,所述方法可包含使用至少三个读取阈值从一或多个存储器装置内的存储器单元集读取数据,存储器单元集中的每个存储器单元配置成存储至少两个位。1105的操作可根据如本文公开的实例来执行。在一些实例中,1105的操作的方面可由如参考图8描述的读取组件810来执行。
在1110,所述方法可包含至少部分地基于使用至少三个读取阈值读取数据,递增计数器集中的每个计数器,其中计数器集中的每个计数器对应于至少三个读取阈值中的相应读取阈值并且指示对应于第一逻辑值的数据的相应位数量。1110的操作可根据如本文公开的实例来执行。在一些实例中,1110的操作的方面可由如参考图8描述的计数器组件815来执行。
在1115,所述方法可包含使用由计数器集中的第二计数器指示的第二数量,调整由计数器集中的第一计数器指示的第一数量。1115的操作可根据如本文公开的实例来执行。在一些实例中,1115的操作的方面可由如参考图8描述的调整组件840来执行。
在1120,所述方法可包含在调整由第一计数器指示的第一数量之后,至少部分地基于计数器集调整至少三个读取阈值中的一或多个。1120的操作可根据如本文公开的实例来执行。在一些实例中,1120的操作的方面可由如参考图8描述的读取阈值组件825来执行。
在1125,所述方法可包含在调整至少三个读取阈值中的一或多个之后,从存储器阵列读取数据。1125的操作可根据如本文公开的实例来执行。在一些实例中,1125的操作的方面可由如参考图8描述的读取组件810来执行。
在一些实例中,如本文中所描述的设备可以执行一或多个方法,例如方法1100。所述设备可包含用于进行以下操作的特征、电路、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):使用至少三个读取阈值从一或多个存储器装置内的存储器单元集读取数据,存储器单元集中的每个存储器单元配置成存储至少两个位;至少部分地基于使用至少三个读取阈值读取数据,递增计数器集中的每个计数器,其中计数器集中的每个计数器对应于至少三个读取阈值中的相应读取阈值并且指示对应于第一逻辑值的数据的相应位数量;使用由计数器集中的第二计数器指示的第二数量,调整由计数器集中的第一计数器指示的第一数量;在调整由第一计数器指示的第一数量之后,至少部分地基于计数器集调整至少三个读取阈值中的一或多个;以及在调整至少三个读取阈值中的一或多个之后,从存储器阵列读取数据。
本文描述的方法1100和设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:确定由第一计数器指示的第一数量,所述第一数量指示对应于第一逻辑值的至少三个读取阈值中的第一相应阈值的位数量;以及确定由第二计数器指示的第二数量,第二数量指示对应于第一逻辑值的至少三个读取阈值中的第二相应阈值的位数量。
在本文描述的方法1100和设备的一些实例中,用于调整第一数量的操作、特征、电路、逻辑、构件或指令可包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:从第一数量中减去第二数量。
本文描述的方法1100和设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:至少部分地基于第一数量、第二数量或两者,调整由计数器集中的第三计数器指示的第三数量。
本文描述的方法1100和设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:在由第一计数器指示的方向上调整至少三个读取阈值中的第一阈值,在由第二计数器指示的方向上调整至少三个读取阈值中的第二阈值,在由第三计数器指示的方向上调整至少三个读取阈值中的第三阈值,在由第四计数器指示的方向上调整至少三个读取阈值中的第四阈值,或其任何组合。
本文描述的方法1100和设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:调整至少三个读取阈值中的第一阈值达由第一计数器指示的幅度,调整至少三个读取阈值中的第二阈值达由第二计数器指示的幅度,调整至少三个读取阈值中的第三阈值达由第三计数器指示的幅度,调整至少三个读取阈值中的第四阈值达由第四计数器指示的幅度,或其任何组合。
本文描述的方法1100和设备的一些实例可进一步包含用于进行以下操作的操作、特征、电路、逻辑、构件或指令:针对至少三个读取阈值中的每个读取阈值从存储器单元集选择存储器单元子集,其中相应存储器单元子集对应于相应读取阈值和相应计数器;以及基于对应于第一逻辑状态的相应存储器单元子集的数量,递增相应计数器。
应注意,上文描述的方法描述了可能的实施方案,且操作和步骤可经重新布置或以其它方式修改,且其它实施方案是可能的。另外,可组合来自所述方法中的两种或更多种的部分。
可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。例如,可以通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能引用的数据、指令、命令、信息、信号、位、符号和码片。一些图可将信号说明为单个信号;然而,信号可表示信号的总线,其中所述总线可具有多种位宽度。
如果用于描述条件性动作或过程,术语“如果……,则……”、“当……时”、“基于……”、“至少部分地基于……”和“响应于……”可互换。
术语“电子连通”、“导电接触”、“连接”和“耦合”可以指组件之间支持电子在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,则组件被视为彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子连通(或导电接触或连接或耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管等一或多个中间组件来中断所连接组件之间的信号流一段时间。
术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前无法通过导电路径在组件之间传达,在闭路关系中,信号能够通过导电路径在组件之间传达。如果如控制器的组件将其它组件耦合在一起,则组件发起允许信号经由先前不准许信号流动的导电路径在其它组件之间流动的改变。
术语“隔离”是指信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,则组件彼此隔离。例如,由定位在两个组件之间的开关间隔开的所述组件在开关断开的情况下彼此隔离。如果控制器将两个组件隔离,则控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。
本文中论述的装置,包含存储器阵列,可形成于例如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,衬底是半导体晶片。在其它实例中,衬底可以是绝缘体上硅(SOI)衬底,例如玻璃上硅(SOG)或蓝宝石上硅(SOP),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法执行掺杂。
本文论述的开关组件或晶体管可表示场效应晶体管(FET),且包括包含源极、漏极和栅极的三端装置。所述端子可通过导电材料(例如金属)连接到其它电子元件。源极和漏极可以是导电的,且可以包括经重掺杂,例如简并,半导体区。源极与漏极可通过经轻掺杂半导体区或沟道分离。如果沟道是n型的(即,大部分载体为电子),则FET可被称为n型FET。如果沟道是p型的(即,大部分载流子是空穴),则FET可被称为p型FET。沟道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制沟道导电性。例如,将正电压或负电压分别施加到n型FET或p型FET可使得沟道变得导电。如果大于或等于晶体管的阈值电压的电压施加到晶体管栅极,则晶体管可“接通”或“激活”。如果小于晶体管的阈值电压的电压施加到晶体管栅极,则晶体管可“断开”或“去激活”。
本文结合附图阐述的描述内容描述了实例配置,且并不表示可以实施的或在权利要求书的范围内的所有实例。本文使用的术语“示例性”意指“充当实例、例子或说明”,而不是“优选”或“优于其它实例”。详细描述包含具体细节,以提供对所描述技术的理解。然而,可以在没有这些具特定细节的情况下实践这些技术。在一些情况下,以框图形式示出熟知结构和装置,以免混淆所描述实例的概念。
在附图中,类似组件或特征可以具有相同的参考标记。另外,可通过在参考标记之后跟着短划线及在类似组件当中进行区分的第二标记来区分相同类型的各种组件。如果说明书中仅使用第一参考标记,则描述适用于具有相同第一参考标记的类似组件中的任一者,与第二参考标记无关。
本文描述的功能可以硬件、由处理器执行的软件、固件或其任何组合来实施。如果以由处理器执行的软件来实施,则可将功能作为一或多个指令或代码存储于计算机可读媒体上或通过计算机可读媒体予以传输。其它实例和实施方案在本公开和所附权利要求书的范围内。例如,由于软件的本质,上文描述的功能可以使用由处理器执行的软件、硬件、固件、硬连线或这些中的任一者的组合来实施。实施功能的特征还可物理上位于各种位置处,包含经分布以使得功能的部分在不同物理位置处实施。
例如,可用通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散栅极或晶体管逻辑、离散硬件组件或其被设计成执行本文描述的功能的任何组合来实施或执行结合本文中的本公开而描述的各种说明性块和模块。通用处理器可以是微处理器,但在替代方案中,所述处理器可以是任何处理器、控制器、微控制器或状态机。处理器还可以实施为计算装置的组合(例如DSP和微处理器的组合、多个微处理器、与DSP核心结合的一或多个微处理器,或任何其它此类配置)。
如本文中所使用,包含在权利要求书中,如在项列表(例如,后加例如“中的至少一个”或“中的一或多个”的短语的项列表)中所使用的“或”指示包含端点的列表,使得例如A、B或C中的至少一个的列表意指A或B或C或AB或AC或BC或ABC(即,A和B和C)。另外,如本文所使用,短语“基于”不应理解为提及封闭条件集。例如,在不脱离本公开的范围的情况下,描述为“基于条件A”的示例性步骤可基于条件A和条件B两者。换句话说,如本文所使用,短语“基于”应同样地解释为短语“至少部分地基于”。如果用于描述条件性动作或过程,术语“如果……,则……”、“当……时”、“基于……”、“至少部分地基于……”和“响应于……”可互换。
计算机可读媒体包含非暂时性计算机存储媒体以及包含促进将计算机程序从一处传递到另一处的任何媒体的通信媒体两者。非暂时性存储媒体可以是可由通用或专用计算机存取的任何可用媒体。借助于实例而非限制,非暂时性计算机可读媒体可以包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、压缩光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令或数据结构形式的所要程序代码构件且可由通用或专用计算机或者通用或专用处理器存取的任何其它非暂时性媒体。并且,适当地将任何连接称作计算机可读媒体。例如,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,则所述同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术包含在媒体的定义中。如本文所使用,磁盘和光盘包含CD、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘使用激光以光学方式复制数据。以上各者的组合也包含在计算机可读媒体的范围内。
提供本文中的描述使得所属领域的技术人员能够进行或使用本公开。所属领域技术人员将清楚对本公开的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本公开的范围。因此,本公开不限于本文描述的实例和设计,而是被赋予与本文公开的原理和新颖特征一致的最宽范围。
Claims (20)
1.一种设备,其包括:
存储器装置;以及
控制器,其与所述存储器装置耦合且配置成使所述设备进行以下操作:
使用具有第一值的读取阈值从所述存储器装置的存储器阵列读取码字;
至少部分地基于读取所述码字而递增计数器,所述计数器指示对应于第一逻辑值的所述码字的第一位数量;
在读取所述码字之后检测所述码字中的错误;
至少部分地基于检测所述错误,至少部分地基于将所述第一位数量与对应于第二逻辑值的所述码字的第二位数量进行比较来确定所述第一位数量满足阈值;
至少部分基于所述第一位数量满足所述阈值来将所述读取阈值从所述第一值调整为第二值,其中至少部分基于所述第一位数量来确定从所述第一值到所述第二值的调整方向,且至少部分地基于所述第一位数量来确定从所述第一值到所述第二值的调整幅度;以及
使用具有所述第二值的所述读取阈值从所述存储器阵列读取所述码字。
2.根据权利要求1所述的设备,其中所述控制器进一步配置成使所述设备进行以下操作:
确定所述错误是纠错码方案的不可纠正错误,其中检测所述错误是至少部分地基于所述纠错码方案,并且其中调整所述读取阈值是至少部分地基于所述错误对于所述纠错码方案是不可纠正的。
3.根据权利要求1所述的设备,其中所述读取阈值包括电压阈值、电流阈值或其任何组合。
4.根据权利要求1所述的设备,其中所述控制器进一步配置成使所述设备进行以下操作:
至少部分地基于使用具有所述第二值的所述读取阈值读取所述码字来检测所述码字中的第二错误;以及
至少部分地基于所述第二错误,将所述读取阈值从所述第二值调整为第三值。
5.根据权利要求1所述的设备,其中所述控制器进一步配置成使所述设备进行以下操作:
至少部分地基于所述第一位数量和所述第二位数量之间的差的幅度来确定从所述第一值到所述第二值的所述调整幅度。
6.根据权利要求1所述的设备,其中所述控制器进一步配置成使所述设备进行以下操作:
至少部分地基于查找表的与第一位数量相对应的字段来确定从所述第一值到所述第二值的所述调整幅度。
7.根据权利要求1所述的设备,其中所述控制器进一步配置成使所述设备进行以下操作:
识别所述调整方向是正确的概率;以及
至少部分地基于确定所述概率满足概率阈值来选择所述调整方向,
其中将所述读取阈值从所述第一值调整到所述第二值至少部分地基于选择所述调整方向。
8.一种存储代码的非暂时性计算机可读介质,所述代码包括指令,所述指令在由电子装置的处理器执行时使所述电子装置进行以下操作:
使用具有第一值的读取阈值从存储器阵列读取码字;
至少部分地基于读取所述码字而递增计数器,所述计数器指示对应于第一逻辑值的所述码字的第一位数量;
在读取所述码字之后检测所述码字中的错误;
至少部分地基于检测所述错误,至少部分地基于递增计数器以及将所述第一位数量与对应于第二逻辑值的所述码字的第二位数量进行比较来确定所述第一位数量满足阈值;
至少部分基于所述第一位数量满足所述阈值来将所述读取阈值从所述第一值调整为第二值,其中至少部分基于所述第一位数量来确定从所述第一值到所述第二值的调整方向,且至少部分基于所述第一位数量来确定从所述第一值到所述第二值的调整幅度;以及
使用具有所述第二值的所述读取阈值从所述存储器阵列读取所述码字。
9.根据权利要求8所述的非暂时性计算机可读介质,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
确定所述错误是纠错码方案的不可纠正错误,其中检测所述错误是至少部分地基于所述纠错码方案,并且其中调整所述读取阈值是至少部分地基于所述错误对于所述纠错码方案是不可纠正的。
10.根据权利要求8所述的非暂时性计算机可读介质,其中所述读取阈值包括电压阈值、电流阈值或其任何组合。
11.根据权利要求8所述的非暂时性计算机可读介质,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
至少部分地基于使用具有所述第二值的所述读取阈值读取所述码字来检测所述码字中的第二错误;以及
至少部分地基于所述第二错误,将所述读取阈值从所述第二值调整为第三值。
12.根据权利要求8所述的非暂时性计算机可读介质,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
至少部分地基于所述第一位数量和所述第二位数量之间的差的幅度来确定从所述第一值到所述第二值的所述调整幅度。
13.根据权利要求8所述的非暂时性计算机可读介质,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
至少部分地基于查找表的与第一位数量相对应的字段来确定从所述第一值到所述第二值的所述调整幅度。
14.根据权利要求8所述的非暂时性计算机可读介质,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置进行以下操作:
识别所述调整方向是正确的概率;以及
至少部分地基于确定所述概率满足概率阈值来选择所述调整方向,
其中将所述读取阈值从所述第一值调整到所述第二值至少部分地基于选择所述调整方向。
15.一种由存储器装置执行的方法,所述方法包括:
使用具有第一值的读取阈值从所述存储器装置的存储器阵列读取码字;
至少部分地基于读取所述码字而递增所述存储器装置的计数器,所述计数器指示对应于第一逻辑值的所述码字的第一位数量;
在读取所述码字之后检测所述码字中的错误;
至少部分地基于检测所述错误,至少部分地基于递增计数器以及将所述第一位数量与对应于第二逻辑值的所述码字的第二位数量进行比较来确定所述第一位数量满足阈值;
至少部分基于所述第一位数量满足所述阈值来将所述读取阈值从所述第一值调整为第二值,其中至少部分基于所述第一位数量来确定从所述第一值到所述第二值的调整方向,且至少部分基于所述第一位数量来确定从所述第一值到所述第二值的调整幅度;以及
使用具有所述第二值的所述读取阈值从所述存储器阵列读取所述码字。
16.根据权利要求15所述的方法,其进一步包括:
确定所述错误是纠错码方案的不可纠正错误,其中检测所述错误是至少部分地基于所述纠错码方案,并且其中调整所述读取阈值是至少部分地基于所述错误对于所述纠错码方案是不可纠正的。
17.根据权利要求15所述的方法,其中所述读取阈值包括电压阈值、电流阈值或其任何组合。
18.根据权利要求15所述的方法,其进一步包括:
至少部分地基于使用具有所述第二值的所述读取阈值读取所述码字来检测所述码字中的第二错误;以及
至少部分地基于所述第二错误,将所述读取阈值从所述第二值调整为第三值。
19.根据权利要求15所述的方法,其进一步包括:
至少部分地基于所述第一位数量和所述第二位数量之间的差的幅度来确定从所述第一值到所述第二值的所述调整幅度。
20.根据权利要求15所述的方法,其进一步包括:
至少部分地基于查找表的与第一位数量相对应的字段来确定从所述第一值到所述第二值的所述调整幅度。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/240,938 US11443828B1 (en) | 2021-04-26 | 2021-04-26 | Read threshold adjustment techniques for memory |
US17/240,938 | 2021-04-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115248743A CN115248743A (zh) | 2022-10-28 |
CN115248743B true CN115248743B (zh) | 2024-03-15 |
Family
ID=83196067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210441893.8A Active CN115248743B (zh) | 2021-04-26 | 2022-04-25 | 存储器的读取阈值调整技术 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11443828B1 (zh) |
CN (1) | CN115248743B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11443828B1 (en) * | 2021-04-26 | 2022-09-13 | Micron Technology, Inc. | Read threshold adjustment techniques for memory |
US11656789B2 (en) * | 2021-08-25 | 2023-05-23 | Western Digital Technologies, Inc. | Asymmetric read sense |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107039080A (zh) * | 2015-10-30 | 2017-08-11 | 希捷科技有限公司 | 使用基于经解码数据的误码率的读取阈值电压自适应 |
US10833704B1 (en) * | 2018-12-12 | 2020-11-10 | Xilinx, Inc. | Low-density parity check decoder using encoded no-operation instructions |
CN112567344A (zh) * | 2018-07-24 | 2021-03-26 | 美光科技公司 | 存储器系统中的差错位发现 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117519B2 (en) * | 2008-01-15 | 2012-02-14 | Micron Technology, Inc. | Memory apparatus and method using erasure error correction to reduce power consumption |
US11336303B2 (en) * | 2010-06-04 | 2022-05-17 | Micron Technology, Inc. | Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory |
US20130047045A1 (en) * | 2011-08-19 | 2013-02-21 | Stec, Inc. | Error indicator from ecc decoder |
US8719647B2 (en) * | 2011-12-15 | 2014-05-06 | Micron Technology, Inc. | Read bias management to reduce read errors for phase change memory |
US9454420B1 (en) * | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9728263B2 (en) * | 2013-05-31 | 2017-08-08 | Sandisk Technologies Llc | Method and device for iteratively updating read voltages |
US9653156B2 (en) * | 2015-02-20 | 2017-05-16 | Kabushiki Kaisha Toshiba | Memory controller, nonvolatile semiconductor memory device and memory system |
US9779818B2 (en) * | 2015-07-09 | 2017-10-03 | Apple Inc. | Adaptation of high-order read thresholds |
US10417086B2 (en) * | 2017-08-11 | 2019-09-17 | Winbond Electronics Corp. | Data write method and memory storage device using the same |
KR20220039432A (ko) * | 2020-09-22 | 2022-03-29 | 삼성전자주식회사 | 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법 |
US11443828B1 (en) * | 2021-04-26 | 2022-09-13 | Micron Technology, Inc. | Read threshold adjustment techniques for memory |
US11494114B1 (en) * | 2021-04-26 | 2022-11-08 | Micron Technology, Inc. | Read threshold adjustment techniques for non-binary memory cells |
US20230112694A1 (en) * | 2021-10-07 | 2023-04-13 | Samsung Electronics Co., Ltd. | Storage devices and methods of operating storage devices |
-
2021
- 2021-04-26 US US17/240,938 patent/US11443828B1/en active Active
-
2022
- 2022-04-25 CN CN202210441893.8A patent/CN115248743B/zh active Active
- 2022-08-17 US US17/890,014 patent/US11854641B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107039080A (zh) * | 2015-10-30 | 2017-08-11 | 希捷科技有限公司 | 使用基于经解码数据的误码率的读取阈值电压自适应 |
CN112567344A (zh) * | 2018-07-24 | 2021-03-26 | 美光科技公司 | 存储器系统中的差错位发现 |
US10833704B1 (en) * | 2018-12-12 | 2020-11-10 | Xilinx, Inc. | Low-density parity check decoder using encoded no-operation instructions |
Non-Patent Citations (1)
Title |
---|
"OTP存储器存储单元内寄生电容对读取阈值的影响";毛冬冬 等;《电子设计工程》;第24卷(第2期);第82-85页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115248743A (zh) | 2022-10-28 |
US11854641B2 (en) | 2023-12-26 |
US11443828B1 (en) | 2022-09-13 |
US20230030713A1 (en) | 2023-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11934688B2 (en) | Read threshold adjustment techniques for non-binary memory cells | |
CN115248743B (zh) | 存储器的读取阈值调整技术 | |
US11809329B2 (en) | Recovery of logical-to-physical table information for a memory device | |
US11861167B2 (en) | Maintenance operations for memory devices | |
US11755237B2 (en) | Overwriting at a memory system | |
US11716096B2 (en) | Memory error correction based on layered error detection | |
US11782787B2 (en) | Dynamic error control configuration for memory systems | |
US11392292B2 (en) | Maintenance operations for memory devices | |
US11789817B2 (en) | Error correction for internal read operations | |
US11977443B2 (en) | Dynamic parity scheme | |
US11797385B2 (en) | Managing information protection schemes in memory systems | |
US12001279B2 (en) | Error protection for managed memory devices | |
US11875039B2 (en) | Temperature-based scrambling for error control in memory systems | |
US20240134740A1 (en) | Error protection for managed memory devices | |
US11605434B1 (en) | Overwriting at a memory system | |
US11860714B1 (en) | Error notification using an external channel | |
US20240120011A1 (en) | Determining offsets for memory read operations | |
US11726863B2 (en) | Memory data correction using multiple error control operations | |
US20240045611A1 (en) | Coding for quad-level memory cells having a replacement gate configuration | |
EP4060501A1 (en) | Redundant array management techniques | |
US20240071518A1 (en) | Coding to decrease error rate discrepancy between pages |
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 |