CN115312112A - 用于内容可寻址存储器的健康扫描 - Google Patents

用于内容可寻址存储器的健康扫描 Download PDF

Info

Publication number
CN115312112A
CN115312112A CN202210481092.4A CN202210481092A CN115312112A CN 115312112 A CN115312112 A CN 115312112A CN 202210481092 A CN202210481092 A CN 202210481092A CN 115312112 A CN115312112 A CN 115312112A
Authority
CN
China
Prior art keywords
memory
memory cells
stored
string
data
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
Application number
CN202210481092.4A
Other languages
English (en)
Inventor
T·O·伊瓦萨基
M·阿德瓦尼
R·古德西
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN115312112A publication Critical patent/CN115312112A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/1201Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/20Address generation devices; Devices for accessing memories, e.g. details of addressing circuits using counters or linear-feedback shift registers [LFSR]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/24Accessing extra cells, e.g. dummy cells or redundant cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1202Word line control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1208Error catch memory

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本申请案涉及用于内容可寻址存储器的健康扫描。一种存储器装置包含内容可寻址存储器CAM块,其存储多个所存储搜索关键字。所述存储器装置进一步包含控制逻辑,其:确定所述CAM块的至少一个串中的存储所述多个所存储搜索关键字中的一个的存储器单元的第一数目,所述第一数目个存储器单元存储第一逻辑值;及将表示存储器单元的所述第一数目的经计算奇偶校验值存储在与所述CAM块相关联的页高速缓冲存储器中。所述控制逻辑:进一步从所述至少一个串中的一或多个存储器单元读取所存储奇偶校验数据,所述一或多个存储器单元连接到所述CAM块中的一或多个额外字线;及将所述经计算奇偶校验值与所述所存储奇偶校验数据进行比较以确定所述CAM块中的所述多个所存储搜索关键字中的所述一个中是否存在错误。

Description

用于内容可寻址存储器的健康扫描
技术领域
本公开的实施例大体上涉及存储器子系统,且更具体地说,涉及存储器子系统中的内容可寻址存储器(CAM)的健康扫描。
背景技术
存储器子系统可以包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可以利用存储器子系统以在存储器装置处存储数据且从存储器装置检索数据。
发明内容
本公开的一方面提供一种存储器装置,其包括:内容可寻址存储器(CAM)块,其存储多个所存储搜索关键字;及控制逻辑,其与CAM块操作性地耦合,以执行包括以下各者的操作:确定CAM块的至少一个串中的存储多个所存储搜索关键字中的一个的存储器单元的第一数目,第一数目个存储器单元存储第一逻辑值;将表示存储器单元的第一数目的经计算奇偶校验值存储在与CAM块相关联的页高速缓冲存储器中;从至少一个串中的一或多个存储器单元读取所存储奇偶校验数据,一或多个存储器单元连接到CAM块中的一或多个额外字线;及将经计算奇偶校验值与所存储奇偶校验数据进行比较以确定CAM块中的多个所存储搜索关键字中的一个中是否存在错误。
本公开的另一方面提供一种方法,其包括:确定存储器装置中的存储多个所存储搜索关键字中的一个的内容可寻址存储器(CAM)块的至少一个串中的存储器单元的第一数目,第一数目个存储器单元存储第一逻辑值;将表示存储器单元的第一数目的经计算奇偶校验值存储在与CAM块相关联的页高速缓冲存储器中;从至少一个串中的一或多个存储器单元读取所存储奇偶校验数据,一或多个存储器单元连接到CAM块中的一或多个额外字线;及将经计算奇偶校验值与所存储奇偶校验数据进行比较以确定CAM块中的多个所存储搜索关键字中的一个中是否存在错误。
本公开的另一方面提供一种存储器装置,其包括:内容可寻址存储器(CAM)块;及控制逻辑,其与CAM块操作性地耦合,以执行包括以下各者的操作:将搜索关键字存储在CAM块的串上,所述串包括多个存储器单元;确定CAM块的串中的存储第一逻辑值的多个存储器单元的数目;及在所述串中的一或多个存储器单元中存储奇偶校验数据,其包括多个存储器单元的数目的指示,其中一或多个存储器单元连接到CAM块中的一或多个额外字线。
附图说明
根据下文提供的具体实施方式和本公开的各种实施例的附图将更加充分地理解本公开。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
图2是根据本公开的一些实施例的与存储器子系统的存储器子系统控制器通信的存储器装置的框图。
图3是根据本公开的一些实施例的说明使用存储器子系统中的内容可寻址存储器(CAM)的关键值数据存储系统的框图。
图4是根据本公开的一些实施例的实施于存储器装置内的关键值数据存储系统的内容可寻址存储器(CAM)块的框图。
图5是根据本公开的一些实施例的在存储器子系统中的内容可寻址存储器(CAM)中存储奇偶校验数据的实例方法的流程图。
图6是根据本公开的一些实施例的使用用于存储器子系统中的内容可寻址存储器(CAM)的奇偶校验数据来执行健康扫描的实例方法的流程图。
图7是其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
本公开的各方面涉及用于存储器子系统中的内容可寻址存储器(CAM)的健康扫描。存储器子系统可以是存储装置、存储器模块,或存储装置和存储器模块的混合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个组件(例如存储数据的存储器装置)的存储器子系统。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。
内容可寻址存储器(CAM)是某些极高速搜索应用程序(例如识别符(ID)和模式匹配)中常用的存储器装置类型。通常,通过将输入搜索数据与所存储数据条目的表进行比较来搜索CAM,并返回匹配表中的数据的存储器地址。CAM频繁地实施于动态随机存取存储器(DRAM)或同步随机存取存储器(SRAM)中。然而,DRAM和SRAM这两者均具有有限的存储器容量,这会限制常规CAM实施方案中可存储和搜索的数据量。
存储器子系统可以包含高密度非易失性存储器装置,其中当没有电力被供应到存储器装置时需要数据的保持。非易失性存储器装置的一个实例为与非(NAND)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置为一或多个裸片的封装。每一裸片可由一或多个平面组成。对于一些类型的非易失性存储器装置(例如,NAND装置),每一平面由一组物理块组成。每一块由页集合组成。每个页由一组存储器单元(“单元”)组成。单元是存储信息的电子电路。取决于单元类型,单元可存储一或多个二进制信息位,且具有与所存储位数相关的各种逻辑状态。逻辑状态可由二进制值(例如“0”和“1”)或这种值的组合表示。
存储器装置可以由布置在二维或三维网格中的位组成。存储器单元蚀刻到列(下文也称为位线)和行(下文也称为字线)的阵列中的硅晶片上。字线可以指存储器装置的存储器单元的一或多个行,所述一或多个行与一或多个位线一起使用以生成存储器单元中的每一个的地址。位线和字线的相交点构成存储器单元的地址。下文中,块是指用于存储数据的存储器装置的单元,并且可以包含存储器单元的群组、字线群组、字线或个别存储器单元。可以将一或多个块分组在一起以形成存储器装置的平面,以便允许在每一平面上进行并发操作。存储器装置可以包含执行两个或更多个存储器平面的并发存储器页存取的电路系统。例如,存储器装置可以包含可以由存储器装置的平面共享的多个存取线驱动器电路和电力电路,以促进两个或更多个存储器平面的包含不同页类型的页的并发存取。为易于描述,这些电路通常可以称为独立的平面驱动器电路。取决于所采用的存储架构,可以跨越存储器平面(即,在条带中)存储数据。因此,读取数据的片段(例如,对应于一或多个数据地址)的一个请求可以产生对存储器装置的存储器平面中的两个或更多个执行的读取操作。
串是NAND型快闪存储器装置中的单元。NAND型快闪存储器装置通常具有32个或更多个存储器单元,其中每一存储器单元用以表示位值(例如,0或1)。因此,具有32个存储器单元的串可表示32个数据位且具有64个存储器单元的串可表示64个数据位。在NAND型快闪存储器块中,个别串连接成允许存储和检索来自选定单元的数据。通常,块中的串的一端连接到共同源极线,且另一端连接到位线。每个串还包含与存储器单元串联的两个控制机构。串选择晶体管和接地选择晶体管连接到串选择线和接地选择线。NAND型快闪组件中的存储器单元在其控制栅极处水平地连接到字线以形成页。页为共享同一字线的经连接存储器单元集并且是编程的最小单位。NAND型快闪存储器装置可具有64K或128K单元的页大小。尽管常规NAND型快闪存储器与DRAM和SRAM相比具有较大容量,但其对于串行数据搜索和存取来说通常太慢了。
关键值数据存储系统被设计成用于存储、检索和管理一系列记录。每一记录可包含不同字段,保存一或多个值。所述记录存储于数据库中并且使用唯一地识别所述记录的关键字进行检索,并且可用以查找数据库内的记录。与关系数据库相比,在关键值数据存储系统中,数据(即,值)存储为单个难理解集合,所述难理解集合可在每一记录中以不同方式格式化。这种不依赖于已定义模式的灵活性允许关键值数据存储系统使用比关系数据库少得多的内存。然而,在许多关键值系统中,数据经维持在随机存取存储器(例如,DRAM或SRAM)中,这会受以上经引用性能限制的影响。其它关键值系统利用在NAND型快闪存储器装置中实施的CAM架构来提供快速搜索能力和高容量搜索能力两者。根据此架构,数据条目可存储在NAND型快闪存储器阵列的串上。表示输入搜索字的搜索模式竖直地输入到与CAM的阵列中的串对应的每一字线上。输入搜索字可表示用于关键值数据存储系统中的搜索关键字。单个读取操作比较输入搜索字(即,搜索关键字)与阵列的选定部分中的所有串,所述选定部分通常为一或多个平面中的子块,并且识别匹配数据的存储地址(即,所存储关键字)。CAM中的匹配所存储关键字的存储地址可用作到查找表或其它数据结构的输入,所述查找表或其它数据结构存储单独的值存储区中的对应值的位置。值存储区可实施于未使用CAM架构布置的NAND型快闪存储器或其它非易失性存储器中。不同于其它存储器子系统(例如,利用未使用CAM架构布置的NAND型快闪存储器或其它非易失性存储器的存储器子系统),所述CAM不包含错误校正码(ECC)或具有执行错误校正的能力。因此,如果在CAM中维持的任何所存储关键字遭受数据的任一缺陷、错误或其它损坏,那么无法恰当地识别匹配输入搜索关键字的所存储关键字。因此,由于仅搜索CAM以查找所存储关键字的存在,且不单独地搜索对应值存储区,因此经请求数据可响应于查询而变得未经识别,尽管实际上存在值存储区中的所述数据。
本公开的各方面通过实施用于存储器子系统中的内容可寻址存储器(CAM)的健康扫描而解决以上和其它缺陷。在一个实施例中,连接到CAM存储器阵列中的多个额外字线(例如,每一存储器串的一个端部处的所述字线)的存储器单元可用于存储奇偶校验数据。奇偶校验数据例如可包含多位值(例如,3个位、4个位),其表示每一相应存储器串中的存储给定逻辑值(例如,逻辑0或逻辑1)的存储器单元的数目。当CAM存储器阵列的块中的各种存储器串经编程时,奇偶校验数据可基于经编程到每一相应存储器串的所存储关键字的值而经编程到存储器单元,所述存储器单元连接到额外字线。接着,随时间推移(例如,在某一时间间隔到期之后周期性地或响应于来自主机系统的请求),存储器子系统可对CAM执行健康扫描。在一个实施例中,在健康扫描期间,给定存储器串的存储器单元中的所存储关键字的逻辑值(例如,逻辑0或逻辑1)的数目经计数,且对应的奇偶校验值经计算且存储(例如,在CAM的页高速缓冲存储器的数据寄存器中)。奇偶校验数据也从连接到额外字线的存储器单元读取,且可与经计算奇偶校验值进行比较。如果经读取奇偶校验数据与经计算奇偶校验值匹配,那么这是高置信度的以下指示:CAM的存储器串上的所存储关键字当中不存在错误。然而,如果存在不匹配,那么这是一或多个错误的指示,且相关联的所存储关键字可经识别且使其无效。
此方法的优点包含但不限于存储器子系统中改进的性能。利用存储在基于NAND的CAM架构中的奇偶校验数据的健康扫描使得能够对存储器装置执行芯片内部奇偶校验操作,而无需在芯片外发送数据(例如,发送到存储器子系统控制器)。这节省了耦合于存储器装置与存储器子系统控制器之间的通信信道的带宽,缩减了可执行错误检查和校正操作的时延,且确保在CAM阵列的存储器串上维持的所存储关键字的可靠性和准确度。这使得CAM能够用于其中执行高速且高密度模式匹配的新的应用程序,例如与人工智能、机器视觉和大型遗传数据库相关的应用程序。此类CAM架构还改进现有数据库搜索系统和搜索算法,例如云端联网和服务器中的索引存储器。此外,对基于NAND的CAM的搜索在NAND组件内进行,因此系统总线的利用率明显降低(即,降低一或多个数量级)。总线要求的这种放宽可节省电力、提高系统效率和/或降低系统成本。另外,利用较少DRAM或其它易失性存储器以实施关键值数据存储系统的功能性,其可降低存储器子系统中的成本和功率利用率。
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此类的组合。
存储器子系统110可为存储装置、存储器模块,或存储装置和存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储器(UFS)驱动器、安全数字(SD)和硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外形DIMM(SO-DIMM),及各种类型的非易失性双列直插式存储器模块(NVDIMM)。
计算系统100可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(IoT)的装置、嵌入式计算机(例如,运载工具、工业设备或联网商业装置中包含的嵌入式计算机),或包含存储器和处理装置的此类计算装置。
计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明了耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到”或“与……耦合”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,没有中间组件),无论是有线还是无线的,包含例如电连接、光学连接、磁连接等的连接。
主机系统120可包含处理器芯片组和由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓冲存储器、存储器控制器(例如,NVDIMM控制器),和存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统120使用存储器子系统110,例如,以将数据写入到存储器子系统110以及从存储器子系统110读取数据。
主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(SAS)、双数据速率(DDR)存储器总线、小型计算机系统接口(SCSI)、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM套接接口)等。物理主机接口可用于在主机系统120与存储器子系统110之间发射数据。当存储器子系统110通过物理主机接口(例如,PCIe总线)与主机系统120耦合时,主机系统120可进一步利用NVM高速(NVMe)接口、开放NAND快闪接口(ONFI)接口,或某一其它接口来存取组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传送控制、地址、数据和其它信号的接口。图1说明存储器子系统110作为实例。一般来说,主机系统120可经由同一通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器子系统。
存储器装置130、140可包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可以是但不限于随机存取存储器(RAM),例如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。
非易失性存储器装置(例如,存储器装置130)的一些实例包含与非(NAND)型快闪存储器和就地写入存储器,例如三维交叉点(“3D交叉点”)存储器装置,其为非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于闪存的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。NAND型快闪存储器包含(例如)二维NAND(2D NAND)和三维NAND(3DNAND)。
存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如,单层级单元(SLC)可存储一个位每单元。其它类型的存储器单元,例如多层级单元(MLC)、三层级单元(TLC)、四层级单元(QLC)和五层级单元(PLC)可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或此类存储器单元阵列的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分,以及MLC部分、TLC部分、QLC部分或PLC部分。存储器装置130的存储器单元可分组为页,所述页可指用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,NAND),页可进行分组以形成块。
尽管描述了例如非易失性存储器单元的3D交叉点阵列等非易失性存储器组件及NAND型快闪存储器(例如,2D NAND、3D NAND),但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻性随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、或非(NOR)快闪存储器、和电可擦除可编程只读存储器(EEPROM)。
存储器子系统控制器115(为简单起见,控制器115)可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据和其它此类操作。存储器子系统控制器115可以包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。硬件可包含具有专用(即,硬译码)逻辑的数字电路系统以执行本文中所描述的操作。存储器子系统控制器115可以为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或其它合适的处理器。
存储器子系统控制器115可以是处理装置,其包含经配置以执行存储于本地存储器119中的指令的一或多个处理器(例如,处理器117)。在所说明的实例中,存储器子系统控制器115的本地存储器119包含经配置以存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作(包含处置存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流和例程。
在一些实施例中,本地存储器119可包含存储存储器指针、取到的数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(ROM)。虽然图1中的实例存储器子系统110已说明为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110不包含存储器子系统控制器115,且可实际上依赖于外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。
通常,存储器子系统控制器115可从主机系统120接收命令或操作,且可将所述命令或操作转换为指令或适当命令来实现对存储器装置130的所要存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速缓存操作,及与存储器装置130相关联的逻辑地址(例如,逻辑块地址(LBA)、名称空间)与物理地址(例如,物理块地址)之间的地址转换。存储器子系统控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可以将从主机系统接收到的命令转换成存取存储器装置130的命令指令,以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可以包含高速缓冲存储器或缓冲器(例如,DRAM)和地址电路系统(例如,行解码器和列解码器),其可从存储器子系统控制器115接收地址且对地址进行解码以存取存储器装置130。
在一些实施例中,存储器装置130包含本地媒体控制器135,其与存储器子系统控制器115结合操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器子系统110是受管理存储器装置,其包含具有裸片上的控制逻辑(例如,本地媒体控制器135)和用于相同存储器装置封装内的媒体管理的控制器(例如,存储器子系统控制器115)的原始存储器装置130。受管理存储器装置的实例是受管理NAND(MNAND)装置。
在一个实施例中,存储器装置130可经配置以包含内容可寻址存储器(CAM)NAND关键值数据库137。如下文更详细地描述,CAM-NAND关键值数据库137可包含被组织为串的存储器单元的一或多个阵列的CAM块。每个串存储数据条目且包括在匹配线与页缓冲器之间串联连接的存储器单元。也就是说,CAM块包含多个匹配线,并且每个匹配线连接到阵列中的多个串中的一个。CAM块的匹配线对应于在其上实施CAM块的NAND块的位线。在给定串内,存储器单元可组织为互补存储器单元对。由串存储的数据条目的每个位值映射到串中的互补存储器单元对中的一个。
可以通过将搜索模式作为输入提供到CAM块的搜索线来搜索CAM块。CAM块的搜索线对应于在其上实施CAM块的NAND块的字线。在一个实施例中,对CAM块的匹配线进行预充电以促进搜索。也就是说,在输入搜索之前,将电压信号施加到CAM块的匹配线。在搜索操作期间,如果输入搜索字匹配由CAM块存储的任何数据条目,那么一或多个被匹配线(例如,对应于存储匹配数据条目的串的匹配线)变得导电且响应于搜索线处输入的搜索模式而释放信号。如果搜索字并不与任何所存储条目匹配,那么所有匹配线都不导电。每个匹配线进一步连接到页缓冲器(例如,包括一或多个锁存电路),所述页缓冲器接收放电信号且存储指示匹配数据沿着连接的匹配线存储的数据。
在一个实施例中,存储器子系统110进一步包含搜索组件113,所述搜索组件促进对CAM-NAND关键值数据库137的搜索。根据一些实施例,搜索组件113包含于存储器子系统控制器115中,如图所展示。例如,存储器子系统控制器115可包含处理器117(例如,处理装置),其经配置以执行存储于本地存储器119中的指令以用于执行本文中所描述的搜索组件113的操作。在一些实施例中,存储器装置130包含搜索组件113的至少一部分。在一些实施例中,搜索组件113是主机系统120、应用或操作系统的部分。
搜索组件113基于所接收的输入搜索字而产生搜索模式,并且使得控制逻辑(例如,本地媒体控制器135)沿着CAM-NAND关键值数据库137中的CAM块的搜索线竖直地输入所述搜索模式。如果与输入搜索字匹配的数据条目由CAM块存储,那么搜索模式使得存储数据条目的匹配线(也被称为“被匹配线”)变得导电,并且由于匹配线进行预充电,因此被匹配线将指示搜索字存储于其上的信号提供到所连接的页缓冲器。可基于由于串变得导电而由被匹配线提供的信号识别任何匹配数据条目的位置(例如,存储地址)。更具体地说,连接到任何被匹配线的页缓冲器响应于检测到指示匹配数据沿着被匹配线存储的放电信号而存储数据。搜索组件113或控制逻辑(例如,读出电路)的组件可从页缓冲器读取数据。基于从页缓冲器读取的数据,搜索组件113输出搜索字是否由CAM块存储的指示以及匹配线的位置的指示符。
搜索组件113可将匹配线的位置作为输入施加到查找表118或其它数据结构。在一个实施例中,查找表118实施于存储器子系统控制器115的本地存储器119(例如,DRAM)中。在其它实施例中,查找表118可维持在存储器子系统110中的其它位置,包含存储在存储器装置130上(例如,在NAND存储器中)。查找表118可包含CAM块中的匹配线的位置与CAM-NAND关键值数据库137的值数据块中的相关联值(即,数据)的位置之间的映射或其它对应关系。在一个实施例中,使用NAND型快闪存储器(例如,TLC存储器或QLC存储器)在存储器装置130上实施值数据块,所述NAND型快闪存储器未使用CAM架构布置且与CAM块分离。搜索组件113可识别查找表118中的对应于CAM块中的匹配线的位置的条目,并且从所述条目确定对应于关键字的数据所位于的值数据块中的相关联位置。所述数据可传回到最初提供输入搜索字的请求方(例如,主机系统120)。下文描述关于搜索组件113和CAM-NAND关键值数据库137的操作和结构的其它细节。
在一个实施例中,本地媒体控制器135可周期性地执行用于CAM-NAND关键值数据库137的CAM块的健康扫描。在一个实施例中,连接到CAM块中的多个额外字线的存储器单元用于存储奇偶校验数据。在一个实施例中,奇偶校验数据包含多位值(例如,3个位、4个位),其表示每一相应存储器串中的存储给定逻辑值(例如,逻辑0或逻辑1)的存储器单元的数目。当CAM块中的各种存储器串经编程时,本地媒体控制器135可基于经编程到每一相应存储器串的所存储关键字的值进一步将奇偶校验数据编程到连接到额外字线的那些存储器单元。接着,随时间推移(例如,在某一时间间隔到期之后周期性地或响应于来自主机系统120的请求),本地媒体控制器135可对CAM块执行健康扫描。在一个实施例中,在健康扫描期间,本地媒体控制器135可对给定存储器串的存储器单元中的所存储关键字的逻辑值(例如,逻辑0或逻辑1)的数目进行计数,计算对应的奇偶校验值,且存储所述值(例如,在CAM的页高速缓冲存储器的数据寄存器中)。本地媒体控制器135可进一步从连接到额外字线的存储器单元读取奇偶校验数据,且将所述读取数据与经计算奇偶校验值进行比较。如果经读取奇偶校验数据与经计算奇偶校验值匹配,那么本地媒体控制器135可以相对较高置信度判定CAM块的存储器串上的所存储关键字当中不存在错误。然而,如果存在不匹配,那么本地媒体控制器135可确定CAM块中存在一或多个错误,且可识别相关联的所存储关键字且使其失效。下文描述关于本地媒体控制器135的操作和结构的其它细节。
图2为根据实施例的呈存储器装置130的形式的第一设备与呈存储器子系统(例如,图1的存储器子系统110)的存储器子系统控制器115的形式的第二设备通信的简化框图。电子系统的一些实例包含个人计算机、个人数字助理(PDA)、数码相机、数字媒体播放器、数字记录器、游戏、电气设备、交通工具、无线装置、移动电话及类似者。存储器子系统控制器115(例如,在存储器装置130外部的控制器)可以是存储器控制器或其它外部主机装置。
存储器装置130包含以行和列逻辑地布置的存储器单元阵列250。逻辑行中的存储器单元通常连接到同一存取线(例如,字线),而逻辑列中的存储器单元通常选择性地连接到同一数据线(例如,位线)。单个存取线可与超过一个逻辑行的存储器单元相关联,且单个数据线可与超过一个逻辑列相关联。存储器单元阵列250的至少一部分的存储器单元(图2中未展示)能够被编程到至少两个目标数据状态中的一个。在一个实施例中,存储器单元阵列250包含CAM块252和值数据块254。如本文中所描述,CAM块252包含竖直存储于串中的多个存储关键字,其可与接收到的搜索关键字进行比较。当确定匹配时,CAM块252中的匹配存储关键字的位置指向值数据块254中的对应值的位置,所述对应值的位置可被检索并返回到请求方。在一个实施例中,CAM块252进一步包含对应于每一所存储关键字的奇偶校验数据,其可由本地媒体控制器135用于执行CAM块252的健康扫描。在一个实施例中,存储器装置130组织成多个平面。在一个实施例中,例如,存储器装置130包含四个平面。然而,在其它实施例中,可存在更多或更少的平面。平面中的每一个可经配置以包含一或多个CAM块252和值数据块254。
提供行解码电路系统208和列解码电路系统210以对地址信号进行解码。接收地址信号并对其进行解码以存取存储器单元阵列250。存储器装置130还包含输入/输出(I/O)控制电路系统212,其用以管理命令、地址和数据到存储器装置130的输入以及数据和状态信息从存储器装置130的输出。地址寄存器214与I/O控制电路系统212和行解码电路系统208和列解码电路系统210通信以在解码之前锁存地址信号。命令寄存器224与I/O控制电路系统212和本地媒体控制器135通信以锁存传入命令。
控制器(例如,存储器装置130内部的本地媒体控制器135)响应于命令而控制对存储器单元阵列250的存取,并生成外部存储器子系统控制器115的状态信息,即,本地媒体控制器135配置成对存储器单元阵列250执行存取操作(例如,读取操作、编程操作和/或擦除操作)。本地媒体控制器135与行解码电路系统208和列解码电路系统210通信,以响应于地址而控制行解码电路系统208和列解码电路系统210。
本地媒体控制器135还与高速缓冲寄存器242通信。高速缓冲寄存器242锁存如由本地媒体控制器135引导的传入或传出数据以临时存储数据,同时存储器单元阵列250正忙于分别写入或读取其它数据。在编程操作(例如,写入操作)期间,可将数据从高速缓冲寄存器242传递到数据寄存器244以传送到存储器单元阵列250;接着可将新数据从I/O控制电路系统212锁存于高速缓冲寄存器242中。在读取操作期间,可将数据从高速缓冲寄存器242传递到I/O控制电路系统212以输出到存储器子系统控制器115;接着可将新数据从数据寄存器244传递到高速缓冲寄存器242。高速缓冲寄存器242和/或数据寄存器244可形成存储器装置130的页缓冲器(例如,可形成其部分)。页缓冲器可进一步包含感测装置(图2中未展示),其用以例如通过感测连接到存储器单元阵列250的存储器单元的数据线的状态来感测所述存储器单元的数据状态。状态寄存器222可与I/O控制电路系统212和本地存储器控制器135通信以锁存状态信息以用于输出到存储器子系统控制器115。
存储器装置130经由控制链路232从本地媒体控制器135接收存储器子系统控制器115处的控制信号。举例来说,控制信号可包含芯片启用信号CE#、命令锁存启用信号CLE、地址锁存启用信号ALE、写入启用信号WE#、读取启用信号RE#和写入保护信号WP#。取决于存储器装置130的性质,可进一步经由控制链路232接收额外或替代的控制信号(未展示)。在一个实施例中,存储器装置130通过多路复用的输入/输出(I/O)总线234从存储器子系统控制器115接收命令信号(其表示命令)、地址信号(其表示地址)和数据信号(其表示数据),并且通过I/O总线234将数据输出到存储器子系统控制器115。
举例来说,可在I/O控制电路系统212处经由I/O总线234的输入/输出(I/O)引脚[7:0]接收命令并且接着可将所述命令写入到命令寄存器224中。可在I/O控制电路系统212处经由I/O总线234的输入/输出(I/O)引脚[7:0]接收地址且接着可将所述地址写入到地址寄存器214中。可在I/O控制电路系统212处经由用于8位装置的输入/输出(I/O)引脚[7:0]或用于16位装置的输入/输出(I/O)引脚[15:0]接收数据并且接着可将所述数据写入到高速缓冲寄存器242中。随后可将数据写入到数据寄存器244中以用于编程存储器单元阵列250。
在实施例中,可省略高速缓冲寄存器242,且可将数据直接写入到数据寄存器244中。还可经由用于8位装置的输入/输出(I/O)引脚[7:0]或用于16位装置的输入/输出(I/O)引脚[15:0]输出数据。尽管可参考I/O引脚,但是其可包含实现通过外部装置(例如,存储器子系统控制器115)电连接到存储器装置130的任何导电节点,例如普遍使用的导电衬垫或导电凸块。
所属领域的技术人员应了解,可提供额外的电路系统和信号并且已简化图2的存储器装置130。应认识到,参考图2所描述的各种块组件的功能性可不必与集成电路装置的不同组件或组件部分分离。举例来说,集成电路装置的单个组件或组件部分可适于执行图2的多于一个块组件的功能性。替代地,可组合集成电路装置的一或多个组件或组件部分以执行图2的单个块组件的功能性。另外,尽管根据各种信号的接收和输出的流行惯例描述了特定I/O引脚,但应注意,可在各种实施例中使用I/O引脚(或其它I/O节点结构)的其它组合或其它数目个I/O引脚(或其它I/O节点结构)。
图3是根据实施例的说明使用存储器子系统中的内容可寻址存储器(CAM)的关键值数据存储系统的框图。在一个实施例中,CAM块252包含多个所存储搜索关键字352,以及奇偶校验数据353。在一个实施例中,奇偶校验数据353可用于周期健康扫描中,以检查包含所存储搜索关键字352的存储于CAM块252处的数据中的任何错误或缺陷。在一个实施例中,连接到CAM块252中的多个额外字线(例如,每一存储器串的一个端部处的所述字线)的存储器单元可用于存储奇偶校验数据353。奇偶校验数据353例如可包含多位值(例如,3个位、4个位),其表示每一相应存储器串中的存储给定逻辑值(例如,逻辑0或逻辑1)的存储器单元的数目。当CAM块252中的各种存储器串经编程(例如,运用所存储搜索关键字352)时,奇偶校验数据353可基于经编程到每一相应存储器串的所存储搜索关键字352的值而经编程到连接到额外字线的存储器单元。接着,随时间推移(例如,在某一时间间隔到期之后周期性地或响应于来自主机系统120的请求),控制逻辑(例如,存储器子系统控制器135)可对CAM块252执行健康扫描。在一个实施例中,在健康扫描期间,给定存储器串的存储器单元中的所存储搜索关键字(例如,所存储搜索关键字352中的一个)的逻辑值(例如,逻辑0或逻辑1)的数目经计数,且对应的奇偶校验值经计算且存储(例如,在CAM块352的页高速缓冲存储器的数据寄存器中)。奇偶校验数据也从连接到额外字线的存储器单元读取,且可与经计算奇偶校验值进行比较。如果经读取奇偶校验数据与经计算奇偶校验值匹配,那么这是高置信度的以下指示:CAM的存储器串上的所存储关键字当中不存在错误。然而,如果存在不匹配,那么这是一或多个错误的指示,且相关联的所存储搜索关键字可经识别且使其无效。
在一个实施例中,搜索组件113接收输入搜索关键字310(例如,搜索字)并且将输入搜索关键字310应用于CAM块252以将输入搜索关键字310与多个所存储搜索关键字352进行比较。在一个实施例中,搜索组件113或存储器子系统110中的其它逻辑基于输入搜索关键字310而产生搜索模式。输入搜索关键字310可包含第一位序列(例如,“1011”)。所产生的搜索模式可包含表示输入搜索关键字310的第一组电压信号以及表示包括第一位序列的逆的第二位序列(例如,“0100”)的第二组电压信号。在一个实施例中,搜索组件113或其它逻辑包含用以产生输入搜索关键字的逆的反相器和用以产生第一信号和第二信号的电平选择器。在产生第一电压信号和第二电压信号时,电平选择器可使用高电压来表示二进制值“1”,并且使用低电压来表示二进制值“0”,其中高电压高于阈值电压(Vt)且低电压低于Vt。
为了搜索CAM块252,搜索组件113沿着CAM块252的搜索线竖直地输入搜索关键字310(即,代表性搜索模式)。搜索关键字310的输入使得表示匹配的所存储位值的任何互补存储器单元对变得导电。如果串存储匹配数据(即,所存储搜索关键字352中的匹配的所存储搜索关键字),那么整个串变得导电。CAM块252中的匹配线被预充电(例如,连接到高电压),并且由于匹配线被预充电,因此搜索线上的搜索关键字310的输入使得块中的存储匹配数据(例如,所存储搜索关键字352中的与搜索关键字310相同的所存储搜索关键字)的任何匹配线输出放电信号,因为对应串是导电的。放电信号提供匹配数据(例如,输入搜索关键字310)存储于其上的指示。放电信号提供匹配数据存储在连接到匹配线的串上的指示。
每一串连接在匹配线与页缓冲器(例如,包括一或多个锁存电路)之间,并且被匹配线的页缓冲器响应于由于匹配线沿着串放电而提供的信号而存储指示匹配数据沿着被匹配线存储的数据。页缓冲器可包含一或多个锁存电路。物理上,页缓冲器驻存在其中实施CAM块252的存储器单元阵列下方或邻近于所述存储器单元阵列驻存。当匹配数据由将信号传导到页缓冲器的所连接串存储时,页缓冲器基于由被匹配线提供的信号而锁存数据。搜索组件113从页缓冲器读取数据,且提供输入搜索关键字310是否存储在CAM块252中的作为输出的经搜索的指示符,以及匹配位置312(例如,所述阵列中的串的存储器地址)。
在一些实施例中,搜索组件113可在多个存储器平面的CAM块252中依序搜索匹配数据。在一些实施例中,搜索组件113可并行地在多个存储器平面的CAM块252中搜索匹配数据。对多个存储器平面的并行搜索允许在单个搜索操作中搜索存储在平面的所有CAM块252当中的所有数据条目,而非在四个单独搜索操作中完成对所有数据条目的搜索。因此,如上述实施例中利用的并行搜索可允许搜索组件113相对于利用依序搜索的实施例实现搜索速度的提高。
在一些实施例中,数据条目可存储在两个或更多个存储器平面当中。在这些情况下,搜索组件113可同时在两个或更多个存储器平面当中搜索匹配数据的部分。当与数据条目存储在单个平面内的实施例相比时,跨平面划分数据条目实现更大的字长。例如,如果CAM块252中的每一个支持64位字,那么在所有四个平面当中划分数据条目将允许存储器装置支持256位字(4*64=256)。
在一个实施例中,匹配位置312可用作到查找表118或其它数据结构的输入,所述查找表或其它数据结构存储单独的值存储区(例如值数据块254)中的对应于输入搜索关键字310的值的位置。值数据块254可实施于未使用CAM架构布置的NAND型快闪存储器(例如,存储器装置130上)或其它非易失性存储器中,并且可包含多个所存储值354。取决于实施例,值数据块254可与CAM块252共置于同一裸片上,或可位于存储器子系统110中的不同存储器装置(即,存储器裸片)上。在一个实施例中,查找表118与CAM块252和值数据块254中的任一个或两个维持在同一存储器装置130上。在另一实施例中,查找表118维持在单独的存储器装置上。在另一实施例中,查找表118经维持于存储器子系统控制器115的本地存储器119(例如,DRAM)中。查找表118可包含例如多个条目322,以使来自CAM块252的各个匹配位置312与值数据块254中的其它值位置324相关联。在一个实施例中,搜索组件113可识别查找表118中的对应于匹配位置312的条目322中的一个,并且从所述条目确定值数据块254中的对应于输入搜索关键字310的数据(即,所存储值354中的相关联的所存储值)所位于的相关联值位置254。所述数据(即,值330)可传回到最初提供输入搜索关键字310的请求方(例如,耦合到存储器子系统110的主机系统120)。
图4是根据本公开的一些实施例的实施于存储器装置内的关键值数据存储系统的内容可寻址存储器(CAM)块的框图。如所展示,CAM块252包含匹配线402-0到402-N、搜索线404-0到404-M,及反相搜索线406-0到406-M。在此实施方案中,CAM块252的匹配线402-0到402-N对应于NAND型快闪存储器装置的位线,并且CAM块252的搜索线404-0到404-M和反相搜索线406-0到406-M对应于NAND型快闪存储器装置的字线。
匹配线402-0到402-N中的每一个连接到包括串联连接的多个存储器单元的串。例如,匹配线402-0连接到包括存储器单元408-0到408-X的串,其中X=2M。CAM块252的每一串中的存储器单元经配置为互补对。例如,在串连接到匹配线402-0的情况下,存储器单元408-0到408-X经编程为互补存储器单元对410-0到410-M。
存储器单元对经配置为互补的,因为所述对中的一个存储器单元存储数据值(“0”),且所述对中的另一存储器单元存储数据值的反相值(“1”)。例如,存储器单元对410-0包括两个存储器单元。第一存储器单元存储数据位值DATA,并且第二存储器单元408-0存储为数据位值DATA的反相值的
Figure BDA0003627509010000151
并且,如所展示,搜索线404-0连接到第一存储器单元的控制栅极,且反相搜索线406-0连接到第二存储器单元的控制栅极。
搜索线404-0从输入搜索字接收表示搜索位值的第一信号SL,且反相搜索线406-0接收表示搜索位值的反相值的第二信号
Figure BDA0003627509010000152
如果SL匹配DATA且
Figure BDA0003627509010000153
匹配
Figure BDA0003627509010000154
那么存储器单元对410-0从A到B将为导电的。例如,下文提供的表1是定义存储器单元对410-0到410-M中的任一给定存储器单元对的行为的真值表。
Figure BDA0003627509010000155
表1
在表1中,“SL”是搜索位值,
Figure BDA0003627509010000156
是搜索位值的反相值,“DATA”是所存储位值,且
Figure BDA0003627509010000157
是所存储位值的反相值。如所展示,当搜索数据值与所存储数据值匹配且搜索数据值的反相值与所存储数据值的反相值匹配时,互补单元对是导电的。在其它情况下,存储器单元对410是不导电的,因为所存储数据与搜索位不匹配。
在一个实施例中,CAM块252中的每一串存储数据条目,且数据条目中的每一数据位值映射到串中的存储器单元对410-0到410-M中的一个。以此方式,在串中的互补存储器单元对410中的每一个内,第一存储器单元存储来自数据条目的位值,且第二存储器单元存储来自数据条目的位值的反相值。
在其中NAND型快闪存储器装置支持128位串(即,X是128)的实例中,匹配线402-0连接到存储器单元408-0到408-127,其存储包括位值D0,0-D63,63的64位数据条目。在此实例中,位值D0,0经映射到包括存储器单元408-0和408-1的存储器单元对410-0。更具体地说,存储器单元408-0存储位值D0,0且互补存储器单元存储
Figure BDA0003627509010000161
其为位值D0,0的反相值。
搜索模式410可沿着搜索线404-0到404-M和反相搜索线406-0到406-M竖直地输入。更具体地说,搜索线404-0到404-M接收表示搜索字310的第一组电压信号SL0-M,且反相搜索线406-0到406-M接收表示搜索字的反相值的第二组电压信号
Figure BDA0003627509010000162
搜索模式310沿着搜索线的输入使得存储匹配数据的任何串变得导电,因为如上文所论述,串中的每一个别存储器单元对410将为导电的。因为匹配线402进行预充电,所以导电串允许匹配线402放电。连接到导电串的页缓冲器锁存指示CAM块252中的匹配数据(即,搜索字206)的位置的数据。
搜索组件113输出搜索字206是否由CAM块252存储的指示以及匹配数据的位置(例如,存储器地址)的指示符。在一些实施例中,搜索组件113包括读出电路,所述读出电路从CAM块252的页缓冲器读取数据以识别所述数据的位置。
在一些实施例中,CAM块252中的两个页缓冲器可连接在一起以形成串联移位寄存器。根据这些实施例,搜索组件113使数据从第一页缓冲器移位到第二页缓冲器,并且搜索组件113包括输出比较和计数器组件以跟踪从一个页缓冲器到另一页缓冲器的移位次数,以识别CAM块252所存储匹配数据的位置。在一些实施例中,两个页缓冲器可使用单个晶体管连接在一起以形成移位寄存器。
在一个实施例中,CAM块252进一步包含多个额外字线412-0到412-Y。在一个实施例中,这些额外字线可定位于每一串的每一存储器串的一个端部处(例如,在搜索线/反向搜索线与选择门漏极(SGD)之间)。取决于实施例,可存在任何数目个额外字线412-0到412-Y。在一个实施例中,额外字线412-0到412-Y中的每一个连接到相应存储器单元集。每一相应存储器单元集可包含每一存储器串中的存储器单元(即,连接到匹配线402-0到402-N中的一个)。每一存储器单元可存储与数据相关联的奇偶校验数据的至少一部分(例如,所存储搜索关键字352中的一个),所述数据竖直地沿着相应存储器串来存储。奇偶校验数据例如可包含多位值(例如,3个位、4个位),其表示每一相应存储器串中的存储给定逻辑值(例如,逻辑0或逻辑1)的存储器单元的数目。例如,如果沿着匹配线402-0存储在存储器单元408-0到408-M中的搜索关键字包含某一数目个逻辑0(即,经编程到表示逻辑0的给定电压电平的存储器单元),那么匹配线402-0中的存储器单元414-0到414-Y中的一或多个(即,连接到额外字线412-0到412-Y的那些存储器单元)可存储表示逻辑0的所述数目的值。在一个实施例中,奇偶校验数据在所存储搜索关键字352经编程到CAM块252的同时经编程。如本文中所描述,奇偶校验数据可用于健康扫描中,以识别存储在CAM块252中的数据中的任何错误。在一个实施例中,在健康扫描期间,给定存储器串(例如,匹配线402-0)的存储器单元中的所存储关键字的逻辑值(例如,逻辑0或逻辑1)的数目经计数,且对应的奇偶校验值经计算且存储(例如,在CAM块252的页高速缓冲存储器的数据寄存器中)。奇偶校验数据还从连接到额外字线(例如,412-0到412-Y)的存储器单元(例如,414-0到414-Y)读取,且可与经计算奇偶校验值进行比较。如果经读取奇偶校验数据与经计算奇偶校验值匹配,那么这是高置信度的以下指示:存储器串上的所存储关键字当中不存在错误。然而,如果存在不匹配,那么这是一或多个错误的指示,且相关联的所存储关键字可经识别且使其无效。
图5是根据本公开的一些实施例的在存储器子系统中的内容可寻址存储器(CAM)中存储奇偶校验数据的实例方法的流程图。方法500可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法500由图1的本地媒体控制器135执行。尽管以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序执行,且一些过程可并行地执行。另外,在各个实施例中可以省略一或多个过程。因此,并非在每个实施例中均需要所有过程。其它过程流程也是可能的。
在操作505处,存储搜索关键字。例如,处理逻辑(例如,本地媒体控制器135)可从来源(例如,存储器子系统控制器115或主机系统120)接收搜索关键字,例如搜索关键字352中的一个。在一个实施例中,搜索关键字包含某一位序列(例如,“1001 10101011”),其可存储在CAM块252的例如匹配线402-0的串上。如本文中所描述,所述串可以是形成CAM块252的多个串中的一个,且可包含多个存储器单元,例如存储器单元408-0到408-X。在一个实施例中,存储器单元408-0到408-X中的每一个可存储表示搜索关键字的相应位的至少一个逻辑值(例如,逻辑0或逻辑1)。如图4中所说明,搜索关键字可沿着匹配线402-0竖直地存储在CAM块252中,其中每一存储器单元连接到匹配线402-0和相应搜索线(即,字线)。在一个实施例中,所存储搜索关键字是多个所存储搜索关键字352中的一个,所述多个所存储搜索关键字中的每一个可沿着相应串存储在CAM块252中。
在操作510处,确定存储器单元的数目。例如,处理逻辑可确定CAM块的串中的存储器单元的数目,所述存储器单元存储某一逻辑值(即,第一逻辑值)。在一个实施例中,为了确定存储某些逻辑值的存储器单元的数目,处理逻辑可首先从CAM块252的串读取所存储搜索关键字。如上文所提及,所述串中的每一存储器单元可存储所存储搜索关键字的至少一个位。另外,处理逻辑可使用于所存储搜索关键字的每一位的计数器递增,所述计数器经读取且等于第一逻辑值。在一个实施例中,在所存储搜索关键字的所有位经读取之后的计数器的值表示存储第一逻辑值的串中的存储器单元的数目。取决于实施例,第一逻辑值可以是逻辑0,使得计数器将针对存储逻辑0的每一存储器单元递增,或可以是逻辑1,使得所述计数器将针对存储逻辑1的每一存储器单元递增。
在操作515处,存储经计算奇偶校验数据。例如,处理逻辑可在串中的一或多个存储器单元(例如存储器单元414-0到414-Y)中存储奇偶校验数据。这些一或多个存储器单元可连接到CAM块252中的一或多个额外字线,例如字线412-0到412-Y。在一个实施例中,奇偶校验数据包含所述串中的存储器单元的数目的指示,所述存储器单元存储某些逻辑值,如在操作510处所确定。例如,奇偶校验数据可包含多位值(例如,3个位或4个位),其存储在一或多个存储器单元中(例如,每单元一个位或每单元多个位)。在一个实施例中,此奇偶校验数据表示在操作505处当所存储搜索关键字经编程到CAM块252时存储某些逻辑值的存储器单元的数目。
在操作520处,执行健康扫描。例如,处理逻辑可使用在操作515处存储于CAM块252的存储器单元中的奇偶校验数据来执行CAM块252的健康扫描。此健康扫描可确定存储在CAM块252的串上的所存储搜索关键字中是否存在错误,而不将数据发送到耦合到存储器装置130的芯片外处理装置,例如存储器子系统控制器115。下文关于图6描述与执行健康扫描相关联的额外细节。
图6是根据本公开的一些实施例的使用用于存储器子系统中的内容可寻址存储器(CAM)的奇偶校验数据来执行健康扫描的实例方法的流程图。方法600可由可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法600由图1的本地媒体控制器135执行。尽管以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序执行,且一些过程可并行地执行。另外,在各个实施例中可以省略一或多个过程。因此,并非在每个实施例中均需要所有过程。其它过程流程也是可能的。
在操作605处,检测健康扫描触发事件。例如,处理逻辑(例如,本地媒体控制器135)可检测健康扫描触发事件。取决于实施例,健康扫描触发事件可包含自执行前一健康扫描起的预定时间间隔的到期、从主机系统120或从存储器子系统控制器115接收请求或某一其它事件。
在操作610处,确定存储器单元的数目。例如,响应于在操作605处检测到健康扫描触发事件,处理逻辑可确定CAM块252的例如匹配线402-0的至少一个串中的存储器单元的第一数目,所述存储器单元存储某一逻辑值(即,第一逻辑值)。在一个实施例中,为了确定存储某些逻辑值的存储器单元的数目,处理逻辑可首先从CAM块252的串读取所存储搜索关键字。如上文所提及,所述串中的每一存储器单元可存储所存储搜索关键字的至少一个位。另外,处理逻辑可使用于所存储搜索关键字的每一位的计数器递增,所述计数器经读取且等于第一逻辑值。在一个实施例中,在所存储搜索关键字的所有位经读取之后的计数器的值表示串中的存储第一逻辑值的存储器单元的数目。取决于实施例,第一逻辑值可以是逻辑0,使得计数器将针对存储逻辑0的每一存储器单元递增,或可以是逻辑1,使得所述计数器将针对存储逻辑1的每一存储器单元递增。
在操作615处,存储经计算奇偶校验值。例如,处理逻辑可将奇偶校验值存储在与CAM块252相关联的页高速缓冲存储器。在一个实施例中,奇偶校验值存储在页高速缓冲存储器的数据寄存器244中。在一个实施例中,奇偶校验值表示串中的存储某些逻辑值的存储器单元的第一数目,如在操作610处所确定。
在操作620处,读取所存储奇偶校验数据。例如,处理逻辑可从所述串中的一或多个存储器单元(例如存储器单元414-0到414-Y)读取所存储奇偶校验数据。这些一或多个存储器单元可连接到CAM块252中的一或多个额外字线,例如字线412-0到412-Y。奇偶校验数据可包含例如多位值(例如,3个位或4个位),其存储在一或多个存储器单元中(例如,每单元一个位或每单元多个位)。在一个实施例中,此奇偶校验数据表示当所存储搜索关键字经编程到CAM块252时存储某些逻辑值的所述串中的存储器单元的数目。
在操作625处,进行比较。例如,处理逻辑可将在操作615处存储在页高速缓冲存储器中的经计算奇偶校验值与在操作620处从CAM块252读取的所存储奇偶校验数据进行比较。在一个实施例中,可执行所述比较以确定CAM块252中的所存储搜索关键字中是否存在错误。例如,响应于经计算奇偶校验值匹配所存储奇偶校验数据,在操作630处,处理逻辑可确定或至少以较高程度的置信度假设,CAM块252中的所存储搜索关键字中不存在错误。响应于经计算奇偶校验值不匹配所存储奇偶校验数据,在操作635处,处理逻辑可确定CAM块252中的所存储搜索关键字中存在错误。
图7说明计算机系统700的实例机器,在所述计算机系统700内可执行用于使得机器执行本文中所论述的方法中的任何一或多种的一组指令。在一些实施例中,计算机系统700可对应于主机系统(例如,图1的主机系统120),所述主机系统包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110),或者可用于执行控制器的操作(例如,用于执行操作系统以执行对应于图1的本地媒体控制器135的操作)。在替代性实施例中,机器可连接(例如联网)到LAN、内联网、外联网和/或互联网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。
所述机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定待由所述机器采取的动作的指令集的任何机器。此外,虽然说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多)个指令集以执行本文中所论述的方法中的任何一或多种。
实例计算机系统700包含处理装置702、主存储器704(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器706(例如,快闪存储器、静态随机存取存储器(SRAM)等)以及数据存储系统718,其经由总线730彼此通信。
处理装置702表示一或多个通用处理装置,例如微处理器、中央处理单元或其类似物。更特定来说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置702也可以是一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器或类似物。处理装置702经配置以执行指令726,以用于执行本文中所论述的操作和步骤。计算机系统700可进一步包含网络接口装置708以经由网络720通信。
数据存储系统718可包含机器可读存储媒体724(也称为计算机可读媒体,例如非暂时性计算机可读媒体),其上存储有一或多个指令集726或体现本文中所描述的方法或功能中的任一或多种的软件。指令726还可在其由计算机系统700执行期间完全或至少部分地驻存在主存储器704内和/或处理装置702内,主存储器704和处理装置702也构成机器可读存储媒体。机器可读存储媒体724、数据存储系统718,和/或主存储器704可对应于图1的存储器子系统110。
在一个实施例中,指令726包含实施对应于图1的本地媒体控制器135的功能性的指令。虽然机器可读存储媒体724在实例实施例中展示为单个媒体,但术语“机器可读存储媒体”应被认为包含存储所述一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集且致使机器执行本公开的方法中的任何一种或多种的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体和磁性媒体。
已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其它技术人员的方式。在本文中,且一般将算法构想为产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、编号等等有时是便利的。
然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅为应用于这些量的便利标记。本公开可以指操控和变换计算机系统的寄存器及存储器内的表示为物理(电子)量的数据为计算机系统存储器或寄存器或其它此类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作及过程。
本公开还涉及用于执行本文中的操作的设备。此设备可以出于所需目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的磁盘,包含软盘、光盘、CD-ROM以及磁性光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示。
本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于存储呈机器(例如,计算机)可读形式的信息的任何机制。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在前述说明书中,本公开的实施例已经参照其特定实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书及图式。

Claims (20)

1.一种存储器装置,其包括:
内容可寻址存储器CAM块,其存储多个所存储搜索关键字;以及
控制逻辑,其与所述CAM块操作性地耦合,以执行包括以下各者的操作:
确定所述CAM块的至少一个串中的存储所述多个所存储搜索关键字中的一个的存储器单元的第一数目,所述第一数目个存储器单元存储第一逻辑值;
将表示存储器单元的所述第一数目的经计算奇偶校验值存储在与所述CAM块相关联的页高速缓冲存储器中;
从所述至少一个串中的一或多个存储器单元读取所存储奇偶校验数据,所述一或多个存储器单元连接到所述CAM块中的一或多个额外字线;以及
将所述经计算奇偶校验值与所述所存储奇偶校验数据进行比较以确定所述CAM块中的所述多个所存储搜索关键字中的所述一个中是否存在错误。
2.根据权利要求1所述的存储器装置,其中所述控制逻辑将执行包括以下各者的其它操作:
检测健康扫描触发事件。
3.根据权利要求2所述的存储器装置,其中检测所述健康扫描触发事件包括检测自前一健康扫描起的预定时间间隔的到期或接收到来自主机系统的请求中的至少一个。
4.根据权利要求1所述的存储器装置,其中确定存储所述第一逻辑值的存储器单元的所述第一数目包括:
从所述至少一个串读取所述多个所存储搜索关键字中的所述一个,其中所述至少一个串中的每一存储器单元存储所述多个所存储搜索关键字中的所述一个的至少一个位;以及
将用于所述多个所存储搜索关键字中的所述一个的每一位的计数器递增成等于所述第一逻辑值,其中所述计数器的值表示存储所述第一逻辑值的存储器单元的所述第一数目。
5.根据权利要求1所述的存储器装置,其中将所述经计算奇偶校验值存储在所述页高速缓冲存储器中包括将所述经计算奇偶校验值存储在所述页高速缓冲存储器的数据寄存器中。
6.根据权利要求1所述的存储器装置,其中所述至少一个串中的所述一或多个存储器单元中的所述所存储奇偶校验数据包括所述CAM块的所述至少一个串中的存储器单元的第二数目的指示,所述第二数目个存储器单元在所述多个所存储搜索关键字中的所述一个经编程到所述CAM块时存储所述逻辑值。
7.根据权利要求1所述的存储器装置,其中所述控制逻辑将执行包括以下各者的其它操作:
响应于所述经计算奇偶校验值匹配所述所存储奇偶校验数据,确定所述CAM块中的所述多个所存储搜索关键字中的所述一个中不存在所述错误。
8.根据权利要求1所述的存储器装置,其中所述控制逻辑将执行包括以下各者的其它操作:
响应于所述经计算奇偶校验值不匹配所述所存储奇偶校验数据,确定所述CAM块中的所述多个所存储搜索关键字中的所述一个中存在所述错误。
9.一种方法,其包括:
确定存储器装置中的存储多个所存储搜索关键字中的一个的内容可寻址存储器CAM块的至少一个串中的存储器单元的第一数目,所述第一数目个存储器单元存储第一逻辑值;
将表示存储器单元的所述第一数目的经计算奇偶校验值存储在与所述CAM块相关联的页高速缓冲存储器中;
从所述至少一个串中的一或多个存储器单元读取所存储奇偶校验数据,所述一或多个存储器单元连接到所述CAM块中的一或多个额外字线;以及
将所述经计算奇偶校验值与所述所存储奇偶校验数据进行比较以确定所述CAM块中的所述多个所存储搜索关键字中的所述一个中是否存在错误。
10.根据权利要求9所述的方法,其进一步包括:
检测健康扫描触发事件。
11.根据权利要求10所述的方法,其中检测所述健康扫描触发事件包括检测自前一健康扫描起的预定时间间隔的到期或接收到来自主机系统的请求中的至少一个。
12.根据权利要求9所述的方法,其中确定存储所述第一逻辑值的存储器单元的所述第一数目包括:
从所述至少一个串读取所述多个所存储搜索关键字中的所述一个,其中所述至少一个串中的每一存储器单元存储所述多个所存储搜索关键字中的所述一个的至少一个位;以及
将用于所述多个所存储搜索关键字中的所述一个的每一位的计数器递增成等于所述第一逻辑值,其中所述计数器的值表示存储所述第一逻辑值的存储器单元的所述第一数目。
13.根据权利要求9所述的方法,其中将所述经计算奇偶校验值存储在所述页高速缓冲存储器中包括将所述经计算奇偶校验值存储在所述页高速缓冲存储器的数据寄存器中。
14.根据权利要求9所述的方法,其中所述至少一个串中的所述一或多个存储器单元中的所述所存储奇偶校验数据包括所述CAM块的所述至少一个串中的存储器单元的第二数目的指示,所述第二数目个存储器单元在所述多个所存储搜索关键字中的所述一个经编程到所述CAM块时存储所述逻辑值。
15.根据权利要求9所述的方法,其进一步包括:
响应于所述经计算奇偶校验值匹配所述所存储奇偶校验数据,确定所述CAM块中的所述多个所存储搜索关键字中的所述一个中不存在所述错误。
16.根据权利要求9所述的方法,其进一步包括:
响应于所述经计算奇偶校验值不匹配所述所存储奇偶校验数据,确定所述CAM块中的所述多个所存储搜索关键字中的所述一个中存在所述错误。
17.一种存储器装置,其包括:
内容可寻址存储器CAM块;以及
控制逻辑,其与所述CAM块操作性地耦合,以执行包括以下各者的操作:
将搜索关键字存储在所述CAM块的串上,所述串包括多个存储器单元;
确定所述CAM块的所述串中的存储第一逻辑值的所述多个存储器单元的数目;以及
在所述串中的一或多个存储器单元中存储奇偶校验数据,所述奇偶校验数据包括所述多个存储器单元的所述数目的指示,其中所述一或多个存储器单元连接到所述CAM块中的一或多个额外字线。
18.根据权利要求17所述的存储器装置,其中所述CAM块包括经组织成多个串的存储器单元阵列,每一串存储多个所存储搜索关键字中的一个且包括在预充电匹配线与页缓冲器之间串联连接的多个存储器单元,且其中所述多个存储器单元中的每一个连接到多个搜索线中的一个。
19.根据权利要求17所述的存储器装置,其中所述存储器装置包括与非NAND型快闪存储器装置。
20.根据权利要求17所述的存储器装置,其中所述控制逻辑将执行进一步包括以下各者的操作:
使用所述奇偶校验数据来执行所述CAM块的健康扫描,以确定存储在所述CAM块的所述串上的所述搜索关键字中是否存在错误,而不将数据发送到耦合到所述存储器装置的芯片外处理装置。
CN202210481092.4A 2021-05-04 2022-05-05 用于内容可寻址存储器的健康扫描 Pending CN115312112A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163201552P 2021-05-04 2021-05-04
US63/201,552 2021-05-04
US17/729,973 2022-04-26
US17/729,973 US20220359033A1 (en) 2021-05-04 2022-04-26 Health scan for content addressable memory

Publications (1)

Publication Number Publication Date
CN115312112A true CN115312112A (zh) 2022-11-08

Family

ID=83854956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210481092.4A Pending CN115312112A (zh) 2021-05-04 2022-05-05 用于内容可寻址存储器的健康扫描

Country Status (2)

Country Link
US (1) US20220359033A1 (zh)
CN (1) CN115312112A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11762735B2 (en) 2021-10-01 2023-09-19 Western Digital Technologies, Inc. Interleaved ECC coding for key-value data storage devices
US11934264B2 (en) * 2021-11-22 2024-03-19 Western Digital Technologies, Inc. ECC parity biasing for Key-Value data storage devices

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6978343B1 (en) * 2002-08-05 2005-12-20 Netlogic Microsystems, Inc. Error-correcting content addressable memory
US7366829B1 (en) * 2004-06-30 2008-04-29 Sun Microsystems, Inc. TLB tag parity checking without CAM read
US7594158B2 (en) * 2005-08-26 2009-09-22 Hewlett-Packard Development Company, L.P. Parity error checking and compare using shared logic circuitry in a ternary content addressable memory
US8533578B2 (en) * 2010-06-11 2013-09-10 Freescale Semiconductor, Inc. Error detection in a content addressable memory (CAM) and method of operation

Also Published As

Publication number Publication date
US20220359033A1 (en) 2022-11-10

Similar Documents

Publication Publication Date Title
US11295814B2 (en) Architecture for fast content addressable memory search
US11133065B1 (en) Architecture for ternary content-addressable memory search
US20220359033A1 (en) Health scan for content addressable memory
CN115398544B (zh) 基于内容可寻址存储器架构的存储器装置数据安全
US20220317935A1 (en) Key-value data storage system using content addressable memory
US11756619B2 (en) Key storage for sorted string tables using content addressable memory
CN115731971A (zh) 存储器装置的裸片上交叉温度管理
US11893279B2 (en) Access tracking in memory
US20220359011A1 (en) Redundancy and majority voting in a key-value data storage system using content addressable memory
US11636044B2 (en) Logical-to-physical mapping
CN113126906B (zh) 用于元数据指示的方法和系统
US11955175B2 (en) Copy redundancy in a key-value data storage system using content addressable memory
US20220357876A1 (en) Programming content addressable memory
US11960754B2 (en) Memory sub-system memory bank search component
CN113971001A (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