CN102272745A - 存储器系统控制器 - Google Patents

存储器系统控制器 Download PDF

Info

Publication number
CN102272745A
CN102272745A CN2009801542669A CN200980154266A CN102272745A CN 102272745 A CN102272745 A CN 102272745A CN 2009801542669 A CN2009801542669 A CN 2009801542669A CN 200980154266 A CN200980154266 A CN 200980154266A CN 102272745 A CN102272745 A CN 102272745A
Authority
CN
China
Prior art keywords
memory
accumulator system
insn
system controller
several
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009801542669A
Other languages
English (en)
Other versions
CN102272745B (zh
Inventor
罗伯特·N·莱博维茨
彼得·菲利
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 CN102272745A publication Critical patent/CN102272745A/zh
Application granted granted Critical
Publication of CN102272745B publication Critical patent/CN102272745B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1056Simplification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Abstract

本发明包含用于存储器系统控制器的方法及装置。在一个或一个以上实施例中,存储器系统控制器包含通信地耦合到系统控制器的主机接口。所述系统控制器具有若干个存储器接口,且被配置用于控制通信地耦合到所述若干个存储器接口的多个智能存储节点。所述系统控制器包含经配置以在物理存储器地址与逻辑存储器地址之间映射的逻辑以及经配置以管理跨越所述多个智能存储节点的损耗均衡的逻辑。

Description

存储器系统控制器
技术领域
本发明一般来说涉及半导体存储器装置、方法及系统,且更特定来说,涉及一种存储器系统控制器。
背景技术
通常提供存储器装置作为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。易失性存储器可需要电力以维持其数据且尤其包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)。非易失性存储器可通过在不供电时保持所存储的信息来提供持久性数据且可尤其包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)及相变随机存取存储器(PCRAM)。
存储器装置可组合在一起以形成固态驱动器(SSD)。固态驱动器可包含非易失性存储器(例如,NAND快闪存储器及NOR快闪存储器),及/或可包含易失性存储器(例如,DRAM及SRAM),以及各种其它类型的非易失性及易失性存储器。
可使用SSD来替换硬盘驱动器作为计算机的主存储装置,这是因为固态驱动器可在性能、大小、重量、耐用性、操作温度范围及功率消耗方面具有胜于硬驱动器的优点。举例来说,SSD可在与磁盘驱动器相比时因其缺少移动部件而具有优越的性能,此可改善与磁盘驱动器相关联的寻道时间、等待时间及其它机电延迟。SSD制造商可使用非易失性快闪存储器来形成快闪SSD,快闪SSD可不使用内部电池电源,因此允许所述驱动器具有更多功能且更紧凑。
SSD可包含若干个存储器装置,例如,若干个存储器芯片(如本文中所使用,“若干个”某事物可指代一个或一个以上此种事物;举例来说,若干个存储器装置可指代一个或一个以上存储器装置)。如所属领域的技术人员将了解,存储器芯片可包含若干个裸片。每一裸片可包含若干个存储器阵列及其上的外围电路。存储器阵列可包含若干个平面,其中每一平面包含若干个物理存储器单元块。每一物理块可包含可存储若干个数据扇区的若干个存储器单元页。
为了跨越大存储容量实现低等待时间及高带宽操作,SSD可包含并行操作的多个通道,其中每一通道操作某一存储器部分。因此,存储器通道控制器的多个副本(例如,NAND快闪控制器逻辑)可集成于SSD的多通道系统控制器上。在此布置中,派给每一通道的任务是操作由所述通道所服务的相关联存储器,包含执行物理/逻辑映射及块管理(例如,损耗均衡)。因此,多个存储器通道控制器的每一副本(对应于所述多个通道中的每一者)可具有用以执行映射及块管理功能的高速缓冲存储器。另外,多个存储器通道控制器的每一副本可包含用于引导到相应通道的“运行中”数据的缓冲存储器。
多个存储器通道控制器的每一副本与对应存储器部分之间的并行通信可需要大约20个引脚来建立其之间的数据、控制、电力及接地连接。此可产生具有大的引脚计数以确保与现有盘驱动协议的兼容性的昂贵的存储器系统ASIC。
附图说明
图1是根据本发明的一个或一个以上实施例的计算系统的功能性框图。
图2是包含存储器系统的现有技术计算系统的功能性框图。
图3是根据本发明的一个或一个以上实施例的包含存储器系统控制器的计算系统的功能性框图。
图4是根据本发明的一个或一个以上实施例的包含通信地串行耦合的若干个智能存储节点的存储器系统的功能性框图。
图5是根据本发明的一个或一个以上实施例的包含通信地并行耦合的若干个智能存储节点的存储器系统的功能性框图。
图6是根据本发明的一个或一个以上实施例的包含至少一个智能存储节点的存储器系统的功能性框图,所述至少一个智能存储节点与通信地并行耦合到其的若干个智能存储节点通信地串行耦合。
图7是根据本发明的一个或一个以上实施例的智能存储节点的功能性框图。
具体实施方式
本发明包含存储器系统控制器装置及方法。在一个或一个以上实施例中,存储器系统控制器包含通信地耦合到系统控制器的主机接口。所述系统控制器具有若干个存储器接口,且被配置用于控制通信地耦合到所述若干个存储器接口的多个智能存储节点。所述系统控制器包含经配置以在物理存储器地址与逻辑存储器地址之间映射的逻辑以及经配置以管理跨越所述多个智能存储节点的损耗均衡的逻辑。
本发明的一个或一个以上实施例描述一种存储器系统,其将传统上分布的固态驱动器功能性(例如,NAND控制、物理地址/逻辑地址翻译、缺陷管理及块管理(例如,损耗均衡))“向上游”集中到中央存储器系统控制器。通过中央定位上文所提及的功能性,可在存储节点上利用经简化的节点控制器,借此提供低等待时间、高存储器密度、可配置性及较低存储器系统成本。
本文中的图遵循编号惯例,其中第一个数字或前几个数字对应于图式图编号,且其余数字识别图式中的元件或组件。不同图之间的类似元件或组件可通过使用类似数字来识别。举例来说,在图1中,104可指代元件“04”,且在图2中,类似元件可指代为204等等。
图1是根据本发明的一个或一个以上实施例的计算系统的功能性框图。计算系统100包含通信地耦合到主机系统102的存储器系统104,例如,一个或一个以上固态驱动器(SSD)。存储器系统104可通过通信接口106(例如,串行高级技术附件(SATA)接口)通信地耦合到主机系统102。
主机系统102可包含若干个单独的集成电路,或者一个以上组件或功能可位于同一集成电路上。根据一个或一个以上实施例,主机系统102可至少部分地作为“主板”以物理方式实施于计算系统100中,其中单独地以物理方式实施存储器系统104,所述主板与存储器系统104是通过通信接口106(例如,通过底板或总线)通信地耦合。
主机系统102可包含通信地耦合到存储器与总线控制件107的一个或一个以上处理器105(例如,并行处理器、协处理器等)。举例来说,处理器(例如,处理器105)可为一个或一个以上微处理器或某一其它类型的控制电路,例如,一个或一个以上专用集成电路(ASIC)。所述计算系统的其它组件也可具有处理器。存储器与总线控制件107可具有存储器及直接通信地耦合到其的其它组件,举例来说,动态随机存取存储器(DRAM)111、图形用户接口113或其它用户接口(例如,显示监视器、键盘、鼠标等)。
存储器与总线控制件107还可具有通信地耦合到其的外围装置与总线控制件109,其又可连接到若干个装置,例如,使用通用串行总线(USB)接口的快闪驱动器115、非易失性存储器主机控制接口(NVMHCI)快闪存储器117或存储器系统104。如读者将了解,除硬盘驱动器(HDD)以外或代替硬盘驱动器(HDD),也可在若干个不同计算系统中利用存储器系统104。图1中所图解说明的计算系统100是此系统的一个实例;然而,本发明的实施例并不限于图1中所示的配置。
企业固态存储器具是一类可由一个或一个以上太字节的存储量及快速性能能力(例如,每秒100MB、每秒100K输入/输出(IOPS)等)表征的存储器系统。根据本发明的一个或一个以上实施例,企业固态存储器具可使用固态驱动器(SSD)构建块来加以配置。关于图1举例来说,存储器系统104可为使用一个或一个以上组件SSD实施的企业固态存储器具,所述一个或一个以上SSD由存储器系统控制器作为存储器系统来操作。
图2是包含存储器系统的现有技术计算系统的功能性框图。计算系统200包含通过接口206连接到主机系统202的存储器系统204(例如,SSD)。现有技术存储器系统204包含系统控制器210、物理接口208(例如,连接器)及对应于系统控制器210的相应通道的若干个存储器装置212-1、…、212-N。接口206用以在存储器系统204与主机系统202之间传递信息。
系统控制器210可包含用于控制跨越若干个通道的存取的控制电路,每一通道具有对应于若干个存储器装置212-1、…、212-N的存储器控制器(例如,218-1、…、218-N)。每一存储器通道控制器(例如,218-1、…、218-N)管理对对应存储器装置212-1、…、212-N的存取,包含提供与特定通道相关联的物理地址与逻辑地址之间的映射。另外,每一存储器通道控制器(例如,218-1、…、218-N)管理与所述特定通道相关联的存储器装置的损耗均衡。
存储器系统204集成有用以介接到主机系统且以仿真磁盘驱动器的方式来控制若干个存储器装置212-1、…、212-N的所有逻辑。因此,系统控制器210包含与磁盘驱动器仿真逻辑216通信的主机接口214,磁盘驱动器仿真逻辑216又与若干个存储器控制器218-1、…、218-N通信。
图3是根据本发明的一个或一个以上实施例的包含存储器系统控制器的计算系统的功能性框图。计算系统300可包含通过接口306通信地耦合到主机系统302的存储器系统304。存储器系统304可用作计算系统300中的大容量数据存储存储器系统,例如,具有一个或一个以上SSD的企业固态存储器具。存储器系统304可用作计算系统300的外部或便携式存储器系统,例如,具有插入连接性。接口306可为电缆或总线,尤其例如,USB、PCI、SATA/150、SATA/300或SATA/600接口。存储器系统304可类似于图1中的存储器系统104。
存储器系统304可包含在物理接口308(例如,连接器)与若干个存储节点330-1、…、330-N之间通信的系统控制器与主机接口320(SCHI)。存储器系统控制器315可与若干个存储节点330-1、…、330-N通信,每一存储节点具有若干个存储器装置312-1、…、312-N以操作(例如,读取、写入、移动、编程、感测、擦除)所述存储器装置的存储器单元。因此,存储器系统控制器315可管理与存储器装置312-1、…、312-N的通信及存储于所述存储器装置中的数据。存储器系统控制器315可具有利用一个或一个以上集成电路以及其它离散组件的电路。对于一个或一个以上实施例,存储器系统控制器315中的电路可包含用于控制跨越若干个通道的存取的控制电路,每一通道具有一串行接口(例如,324-1、…、324-N),每一串行接口与一个或一个以上存储节点330-1、…、330-N通信,且每一存储节点具有若干个存储器装置312-1、…、312-N。因此,存储器系统控制器315可通过一个或一个以上特定通道选择性地与存储器装置312-1、…、312-N通信。
每一存储器装置312-1、…、312-N可包含若干个存储器单元。可使用各种类型的易失性或非易失性存储器阵列(尤其例如,NAND快闪、DRAM)形成存储器装置312-1、…、312-N。根据本发明的一个或一个以上实施例,存储器装置312-1、…、312-N可包含布置成NAND架构、NOR架构、AND架构或某一其它存储器阵列架构的若干个浮动栅极快闪存储器单元,可组合使用所述架构中的一者或一者以上。
存储器装置312-1、…、312-N可包含可经布置以提供特定物理或逻辑配置(例如,页、块、平面、阵列或其它群组)的若干个存储器单元。如本文中所使用,存储器单元页意指可同时编程的若干个存储器单元。举例来说,一些存储器阵列可包含构成存储器单元块的若干个存储器单元页,块是指可同时擦除的若干个存储器单元。存储器单元平面中可包含若干个块。裸片上可包含若干个存储器单元平面。阵列可包含一个或一个以上裸片。以实例而非限制方式,128GB存储器装置可包含每页4314个数据字节,每块128个页,每平面2048个块,及每装置16个平面。
SCHI 320可包含与系统控制器315通信的主机接口314。系统控制器315可包含:逻辑326(包含高速存储器),其被配置用于执行物理/逻辑映射;逻辑327,其被配置用于“运行中”数据缓冲;逻辑328,其被配置用于块管理(例如,损耗均衡);及若干个串行接口324-1、…、324-N。若干个串行接口324-1、…、324-N中的每一者通过如下文将关于图4进一步描述的串行总线334-1、…、334-N通信地耦合到若干个存储节点330-1、…、330-N中的对应一者或一者以上。
主机系统302与存储器系统304之间的通信协议可不同于用于存取特定存储节点330-1、…、330-N或其上的存储器装置(例如,312-1、…、312-N)的通信协议。存储器系统控制器315可将从主机系统302接收的命令翻译成适当命令以实现既定存储器操作,且借此在主机系统302与存储器系统304之间提供翻译层。举例来说,存储器系统控制器315还可将主机命令序列及相关联数据以及其它信息处理成适当通道命令序列以便存储及检索数据。
在一个或一个以上实施例中,且如图3中所图解说明,存储节点330-1、…、330-N可包含一个或一个以上存储器装置312-1、…、312-N及节点控制器332-1、…、332-N。在一个或一个以上实施例中,存储器装置312-1、…、312-N可各自为具有若干个存储器单元的芯片。然而,实施例并不受如此限制。举例来说,如本文中所使用,存储器装置可为裸片、阵列或共享控制输入的其它存储器单元群组,且可使用一个或一个以上存储器单元类型(例如,NAND快闪)来制作。控制输入通常可包含地址锁存器启用(ALE)、芯片启用(CE)、读取启用(RE)、就绪/繁忙(R/B)、写入保护(WP)及输入/输出(I/O)连接,例如,引脚、垫等。
根据本发明的一个或一个以上实施例,存储节点330-1、…、330-N可为智能NAND存储节点(INSN)。虽然展示单个INSN与特定通道相关联,但本发明的实施例并不受如此限制,例如,若干个INSN可与特定系统控制器通道相关联。举例来说,如下文将关于图4进一步论述,在一个或一个以上实施例中,至少两个INSN与若干个特定通道中的每一者相关联。
每一INSN可包含通信地耦合到若干个存储器装置312-1、…、312-N的节点控制器332-1、…、332-N。如先前所述,存储器装置312-1、…、312-N可包含可经布置以提供特定物理或逻辑配置(例如,页、块、平面、阵列或其它群组)的若干个存储器单元。
根据本发明的一个或一个以上实施例,节点控制器332-1、…、332-N可通过开放式NAND快闪接口(ONFi)336-1、…、336-N通信地耦合到若干个存储器装置312-1、…、312-N。ONFi是用于NAND快闪的特定接口,其既定简化NAND快闪存储器到消费型电子装置、计算平台及工业系统中的集成。ONFi促进NAND装置之间的互操作性,借此加快基于NAND的产品上市的时间。ONFi的一些特征为自识别、命令集标准化及引脚输出标准化。NAND自识别使得NAND装置能够向主机自描述其能力,包含存储器布局、时序支持及如交错寻址的增强型特征。标准化用于NAND的命令集建立用于NAND能力的将来演变的基础结构,同时提供供应商特有优化的灵活性。界定标准引脚输出促进与新NAND装置的板级兼容性。
根据本发明的一个或一个以上实施例,举例来说,系统控制器315可包含被配置用于块管理(例如,块选择,包含但不限于损耗均衡)的逻辑328。举例来说,存储器系统304内的存储器块选择可涉及确定向哪些物理块写入数据及擦除哪些物理块以及将写入及擦除所述物理块的次序。用于存储器系统304中的存储器单元可限于有限数目个写入-擦除循环,其可确定存储器系统304的寿命。如此,有效的存储器块管理可增加存储器系统304的寿命,这是因为存储器系统304可在若干个编程及/或擦除循环之后经历故障。
与先前存储器系统(例如,图2中所示的存储器系统200,其中系统控制器210包含用于若干个存储器装置212-1、…、212-N中的每一者的单独存储器控制器电路218-1、…、218-N)形成对比,本发明的一个或一个以上实施例包含具有集中式损耗均衡逻辑328的存储器系统控制器315,集中式损耗均衡逻辑328经配置以管理跨越存储器装置312-1、…、312-N而非仅与特定通道相关联的那些存储器装置的损耗均衡。通过使损耗均衡集中,可相对于(例如,跨越)整个存储器系统而非仅跨越所述系统的某一部分(例如,特定通道)进行损耗均衡。
根据一个或一个以上实施例,管理损耗均衡可包含检测INSN之间、与特定INSN相关联的INSN存储器装置之间及与多个INSN相关联的INSN存储器装置之间的损耗差异。除检测损耗差异以外,管理损耗均衡还可包含检测个别INSN或INSN存储器装置中高于限值的损耗。所述限值可为预设的固定限值、动态限值或其组合。
损耗均衡逻辑328可实施用于管理损耗均衡的技术。如本文中所使用,管理损耗均衡包含坏块管理。这些技术可包含旋转存储器装置当中向其写入数据的单元。损耗均衡还可包含称为无用单元收集的技术,其中通过擦除具有若干个无效页(即,具有已重新写入到不同页及/或在所述无效页上不再需要的数据的页)的块来回收所述块。无用单元收集使得必需在存储器装置当中重新布置数据以计及数据的动态或静态性质。损耗均衡技术中所包含的无用单元收集可有助于管理特定存储器装置的个别单元的损耗速率。这些损耗均衡技术并不限制写入于存储器系统304上的数据量,且其并不计及写入数据的速率及数据被写入于装置上的时间周期来作为可影响驱动器的性能的因素。
在各种实施例中,损耗均衡可包含动态损耗均衡以使为回收块而移动的有效块的量最小化。在动态损耗均衡中,可回收具有最高无效页量的数据块。可通过将来自存储器阵列中的单元页或块的有效数据从第一位置移动到第二页或块位置且擦除所述第一页或块位置来回收所述单元页或块。有效数据可为所要的且应保留于存储器单元中的数据,而无效数据可为不再需要且可擦除的数据。可设定块中总无效页的数目的阈值以确定是否将回收块。可通过扫描块表以找出具有高于所述阈值的数目的无效页的块来回收特定块。块表可具有尤其详述存储器单元中的数据的类型、位置及状态的信息。
静态损耗均衡包含将静态数据写入到具有高擦除计数的块以延长所述块的寿命。在静态损耗均衡中,正存储静态数据的块可与具有高擦除计数的块交换,以便回收具有静态数据及对应较低擦除计数的块。具有高擦除计数的块现在具有静态数据,因此减小对所述块的擦除速率。
在一些实施例中,可将若干个块指定为备用块以减小与在存储器装置当中写入数据相关联的写入放大的量。备用块可为存储器装置中的如下块:其可被指定为其中无法写入数据的块。写入放大是在将数据写入到固态存储器装置时发生的过程。当将数据随机写入于存储器系统中时,进行对所述系统中的自由空间的扫描。存储器系统中的自由空间可为一个或一个以上存储器装置中未经编程的存储器单元中的个别单元、页及/或块。如果存在足够的自由空间来写入数据,那么将数据写入到存储器系统中的自由空间。如果在一个位置中不存在足够的自由空间,那么通过擦除已存在于存储器系统中的数据、将其移动及重新写入到新位置来重新布置所述存储器系统中的数据,从而为待写入于所述存储器系统中的新数据留出自由空间。存储器系统中旧数据的重新布置称为写入放大,这是因为为写入新数据而必须对存储器系统进行写入的量是基于所述存储器系统中自由空间的量及待写入到所述存储器系统的新数据的大小而放大。可通过如下操作来减小写入放大:增加存储器系统中指定为自由空间(即,将不写入静态数据的地方)的空间量,因此由于将必须重新布置较少数据而允许必须写入的数据量的较小放大。
在各种实施例中,由存储器系统304执行的主机及/或用户业务及/或编程/擦除循环可由系统控制器315中的集中式损耗均衡逻辑328监视以改进存储器系统304的性能。可由主机系统处理器通过系统控制器315做出主机及/或用户业务请求以在存储器系统304中读取数据及/或擦除/写入数据。可跨越所有通道(例如,串行接口324-1、…、324-N)、跨越所有INSN 330-1、…、330-N及/或跨越构成存储器系统304的INSN的存储器装置312-1、…、312-N在中央监视编程及/或擦除循环以确定存储器系统304中的块、页或其它存储器单元群组的损耗速率及预期寿命。读者将了解,可仅擦除及写入特定块的存储器单元达有限次数。
主机及/或用户业务趋势可由集中式损耗均衡逻辑328在中央监视及更改以允许存储器系统304运行达所要的操作寿命(例如,诸如几小时、几天、几周、几年等的时间周期)。集中式损耗均衡逻辑328可监视并限制由存储器系统304的若干部分执行的编程及/或擦除循环的数目以确保所要的操作寿命。集中式损耗均衡逻辑328还可监视在特定时间周期内执行的编程及/或擦除循环的数目以在假定存储器系统304的备用块的数目及所要的操作寿命的情况下确定如何计算驱动器的容许编程及/或擦除循环速率。
另外,在一些实施例中,可控制存储器系统304的存储器装置中备用块的数目以确保在所要的操作寿命内达所要写入数目IOPS的可操作性。可针对正编程于存储器系统304上的数据的类型优化备用块的百分比。具有静态数据(即,存储于驱动器上达长时间周期而不被擦除及/或重新写入的数据)的存储器系统304可具有较低百分比的备用块,这是因为由于具有较少编程及/或擦除循环的数据的静态性质而较不需要回收驱动器中的块。在具有动态数据(即,较频繁地编程及/或擦除的数据)的存储器系统304中,可使用较高百分比的备用块来减小与为在存储器装置中执行编程及/或擦除循环而必须回收块相关联的写入放大。
根据本发明的一个或一个以上实施例,系统控制器315可包含被配置用于执行物理地址/逻辑地址映射(例如,其之间的翻译)的逻辑326。举例来说,物理/逻辑地址映射逻辑326可包含编程有逻辑/物理地址映射的高速存储器,例如,DRAM。逻辑/物理地址映射可维持固态存储器系统或特定INSN存储器装置(例如,330-1、…、330-N)的逻辑块地址(LBA)与物理块地址(PBA)之间的相关性。
图4是根据本发明的一个或一个以上实施例的包含通信地串行耦合的若干个智能NAND存储节点的存储器系统的功能性框图。在一个或一个以上实施例中,且如图4中所图解说明,存储器系统控制器415可通信地耦合到若干个存储节点,例如,智能NAND存储节点(INSN)(例如,430-1A、430-1B、…、430-NA、430-NB)。所述INSN可(例如)以菊花链布置串行耦合。系统控制器415可包含若干个串行接口(例如,424-1、…、424-N)。为清晰起见而从图4省略了关于系统控制器415的其它细节;然而,系统控制器415可类似于图3中的系统控制器315。所述若干个串行接口(例如,424-1、…、424-N)中的每一者通过如图3中所示的串行总线(例如,334-1、…、334-N)通信地耦合到若干个存储节点(例如,430-1A、430-1B、…、430-NA、430-NB)中的对应一者或一者以上。
根据本发明的一个或一个以上实施例,且如图4中所示,每一串行总线可包含时钟信号线(例如,444-1、…、444-N)、第一数据线(D+/-)(例如,448-1、…、448-N)及第二数据线(Q+/-)(例如,446-1、…、446-N)。举例来说,第一数据线(D+/-)448-1、…、448-N可被配置用于在第一方向上(例如,从系统控制器415到INSN)传输数据,且第二数据线(Q+/-)446-1、…、446-N可被配置用于在第二方向上(例如,从INSN到系统控制器415)传输数据,如由图4中所示的方向箭头所指示。尽管在图4中展示串行总线的具有经计时及锁存数据传送的一个特定实施方案,但本发明的实施例并不限于图4中所示的特定实施方案,且可以其它配置实施串行通信。
在一个或一个以上实施例中,每一INSN可包含总线管理模块,所述总线管理模块对应于特定通道且通信地耦合到所述相应特定通道的串行总线。举例来说,在图4中所图解说明的实施例中,总线管理模块442-1A及442-1B对应于通道1且通信地耦合到通道1的串行总线(例如,与通道1相关联的相应信号线444-1、446-1及448-1)。类似地,总线管理模块442-NA及442-NB对应于通道N且通信地耦合到通道N的串行总线(例如,与通道N相关联的相应信号线444-N、446-N及448-N)。总线管理模块经配置以控制互连与特定通道相关联的多个INSN的经计时串行总线。节点控制器(例如,对应于通道1的432-1A、432-1B等、…、对应于通道N的432-NA、432-NB等)可通信地耦合于总线管理模块(例如,对应于通道1的442-1A、442-1B等、…、对应于通道N的442-NA、442-NB等)与若干个存储器装置(例如,对应于通道1的412-1A1、412-1A2、412-1B1、412-1B2等、…、对应于通道N的412-NA1、412-NA2、412-NB1、412-NB2等)之间。
存储器装置(例如,对应于通道1的412-1A1、412-1A2、412-1B1、412-1B2等、…、对应于通道N的412-NA1、412-NA2、412-NB1、412-NB2等)可包含可经布置以提供特定物理或逻辑配置(例如,页、块、平面、阵列或其它群组)的若干个存储器单元。根据一个或一个以上实施例,所述INSN可各自配置为多芯片封装,例如,440-1A、440-1B、…、440-NA、440-NB。在一些实施例中,所述多芯片封装可具有用于数据、控制、电力及接地信号的少于20个引脚。举例来说,一个或一个以上实施例的多芯片封装可具有用于数据及控制信号的三个(或更少)引脚,如图4中所示。
如图4中所示,且根据本发明的一个或一个以上实施例,多个INSN(例如,430-1A、430-1B、…、430-NA、430-NB)可通信地耦合到特定串行总线,且因此与所述若干个串行接口(例如,424-1、…、424-N)中的特定一者(例如,通道)相关联。在一些实施例中,多个INSN可与每一通道相关联,例如,通信地耦合到对应于相应通道的串行总线。
根据一个或一个以上实施例,所述多个INSN(例如,430-1A、430-1B、…、430-NA、430-NB)可相对于所述若干个串行存储器接口中的特定一者以菊花链布置通信地耦合到特定串行总线。虽然图4中展示两个INSN通信地耦合到每一通道的串行总线,但本发明的实施例并不限于此数量个INSN,且更多或更少(包含一个也没有)INSN可通信地耦合到特定串行总线。此外,本发明的实施例并不限于使相同数量个INSN通信地耦合到每一通道的串行总线,且特定串行总线上INSN的数量可大于或小于另一特定串行总线上INSN的数量。
图5是根据本发明的一个或一个以上实施例的包含通信地并行耦合的若干个智能NAND存储节点的存储器系统的功能性框图。在一个或一个以上实施例中,且如图5中所图解说明,存储器系统控制器515可通信地耦合到若干个存储节点,例如,智能NAND存储节点(INSN)(例如,530-1A、530-1B、530-1C)。系统控制器515可包含若干个接口(例如,524-1)以用于同步通信。为清晰起见而从图5省略关于系统控制器515的其它细节。尽管在图5中仅展示一个通道,但本发明的实施例并不受如此限制,且存储器系统控制器515可包含被配置用于与额外数目个INSN同步通信的额外通道及/或被配置用于与若干个额外INSN通信的额外通道。
所述若干个接口中的每一者(例如,524-1)可通过同步总线(例如,并行局部总线)通信地耦合到若干个存储节点(例如,530-1A、530-1B、530-1C)中的对应一者或一者以上。所述存储节点可通信地并行耦合。举例来说,第一数目个INSN(例如,530-1A、530-1B、530-1C)可通信地并行耦合到第一同步接口524-1,且另一数目个INSN(为清晰起见而未展示于图5中)可通信地并行耦合到一个或一个以上额外通道同步接口。本发明的实施例并不限于任一特定数量个通道,且可包含一个或一个以上(例如,N个)通道,每一通道具有通信地耦合到其的零个或零个以上INSN,例如,对应于并行布置的特定通道的INSN。
根据本发明的一个或一个以上实施例,且如图5中所示,一个或一个以上INSN可通过并行局部总线通信地耦合到相应同步接口。所述并行局部总线可为同步总线且可包含时钟信号线(CLK)(例如,544-1)、第一数据线(Q[Y:0])(例如,546-1)及第二数据线(D[X:0])(例如,548-1)。举例来说,第一数据线(Q[Y:0])546-1可被配置用于在第一方向上(例如,从INSN到系统控制器515)传输数据,且第二数据线(D[X:0])548-1可被配置用于在第二方向上(从系统控制器515到INSN)传输数据,如图5中所示的方向箭头所指示。所述第一数据线(Q[Y:0])可经配置以具有Y+1个信息数据位的宽度且所述第二数据线(D[X:0])可经配置以具有X+1个信息数据位的宽度。尽管在图5中展示同步总线的具有经计时及锁存数据传送的一个特定实施方案,但本发明的实施例并不限于图5中所示的特定实施方案,且可以其它配置或使用其它通信协议实施与所述INSN的并行通信。
在一个或一个以上实施例中,每一INSN可包含总线管理模块,所述总线管理模块对应于特定通道且通信地耦合到所述相应特定通道的同步总线。举例来说,在图5中所图解说明的实施例中,对应于通道1的总线管理模块542-1A、542-1B及542-1C通信地耦合到通道1的并行局部总线(例如,信号线544-1、546-1及548-1)。所述总线管理模块经配置以控制互连与特定通道相关联的多个INSN的经计时同步总线(例如,并行局部总线)。节点控制器(例如,对应于特定通道1的532-1A、532-1B及532-1C)可通信地耦合于相应总线管理模块(例如,542-1A、542-1B及542-1C)之间。
对应于通道1的存储器装置(例如,对应于INSN 530-1A的512-1A1及512-1A2、对应于INSN 530-1B的512-1B1及512-1B2以及对应于INSN 530-1C的512-1C1及512-1C2)可包含可经布置以提供特定物理或逻辑配置(例如,页、块、平面、阵列或其它群组)的若干个存储器单元。根据一个或一个以上实施例,所述INSN可各自配置为多芯片封装,例如,540-1A、540-1B、540-1C。在一些实施例中,所述多芯片封装可具有用于数据、控制、电力及接地信号的少于20个引脚。
如图5中所示,且根据本发明的一个或一个以上实施例,多个INSN(例如,530-1A、530-1B、530-1C)可通信地耦合到特定同步总线,且因此与所述若干个接口中的特定一者(例如,对应于特定通道)(例如,524-1)相关联。在一些实施例中,多个INSN可与特定通道相关联,例如,通信地耦合到对应于相应通道的并行局部总线。在一些实施例中,一个INSN可与特定通道相关联,例如,通信地耦合到对应于相应通道的并行局部总线。在一些实施例中,无INSN与特定通道相关联,例如,通信地耦合到对应于相应通道的并行局部总线。此外,本发明的实施例并不限于使相同数量个INSN通信地耦合到特定通道,且特定通道上INSN的数量可大于或小于另一特定通道上INSN的数量。
图6是根据本发明的一个或一个以上实施例的包含至少一个智能NAND存储节点的存储器系统的功能性框图,所述至少一个智能NAND存储节点与通信地并行耦合到其的若干个智能NAND存储节点通信地串行耦合。在一个或一个以上实施例中,且如图6中所图解说明,存储器系统控制器615可通信地耦合到若干个存储节点,例如,智能NAND存储节点(INSN)(例如,630-1A、630-1B、630-NB)。本发明的实施例并不限于任一特定数量个通道,且可包含一个或一个以上(例如,N个)通道,每一通道具有通信地耦合到其的零个或零个以上INSN,例如,对应于经布置以包含到特定通道的串行通信路径及并行通信路径两者的所述特定通道的INSN。
系统控制器615可包含被配置用于串行通的若干个接口(例如,624-1)。为清晰起见而从图6省略了关于系统控制器615的其它细节。尽管图6中仅展示一个通道,但本发明的实施例并不受如此限制,且存储器系统控制器615可包含被配置用于与额外数目个INSN串行通信的额外通道,例如,如图4中所图解说明。系统控制器615还可包含用于与若干个额外INSN同步并行通信的额外通道,例如,如图5中所图解说明,且/或可包含被配置用于与额外数目个INSN串行-并行通信的额外通道,例如,如图6中所图解说明。
图6图解说明若干个接口(例如,624-1)可通过串行总线通信地耦合到若干个存储节点中的对应一者或一者以上(例如,INSN 630-1A)。虽然图6展示通信地串行耦合到接口624-1的一个INSN(例如,630-1A),但本发明的实施例并不受如此限制,且可包含更多或更少个串行耦合的INSN。零个到许多额外INSN(例如,630-1B、…、630-MB)可通信地并行耦合到一个或一个以上串行连接的INSN中的一些或所有INSN(例如,630-1A)。举例来说,如图6中所示,第一数目个INSN(例如,630-1B、…、630-MB)可通信地并行耦合到INSN(例如,630-1A)。
根据本发明的一个或一个以上实施例,且如图6中所示,一个或一个以上INSN(例如,630-1A)可通过主机总线通信地耦合到相应串行接口(例如,624-1)。所述主机总线可为串行总线,且可包含时钟信号线(CLK)(例如,644-1)、第一数据线(Q+/-)(例如,646-1)及第二数据线(D+/-)(例如,648-1)。举例来说,第一数据线(Q+/-)(例如,646-1)可被配置用于在第一方向上(例如,从串行耦合的INSN 630-1A到系统控制器615)传输数据,且第二数据线(D+/-)648-1可被配置用于在第二方向上(例如,从系统控制器615到串行耦合的INSN(例如,630-1A))传输数据,如图6中所示的方向箭头所指示。尽管在图6中展示串行总线的具有经计时及锁存数据传送的一个特定实施方案,但本发明的实施例并不限于图6中所示的特定实施方案,且可以其它配置或使用其它通信协议实施与串行耦合的INSN(例如,630-1A)的串行通信。
根据本发明的一个或一个以上实施例,且如图6中所示,对应于特定串行接口的一个或一个以上串行耦合的INSN(例如,630-1A)还可通过并行局部总线通信地耦合到额外数量个INSN(例如,630-1B、…、630-MB)。所述额外数量个INSN(例如,630-1B、…、630-MB)可通信地并行耦合到所述并行局部总线。
所述并行局部总线可为同步总线且可包含时钟信号线(CLK)(例如,645-1)、第一数据线(Q[Y:0])(例如,647-1)及第二数据线(D[X:0])(例如,649-1)。举例来说,第一数据线(Q[Y:0])647-1可被配置用于在一方向上将数据传输到串行耦合的INSN(例如,630-1A),且第二数据线(D[X:0])649-1可被配置用于从所述串行耦合的INSN(例如,630-1A)传输数据,如图6中所示的方向箭头所指示。尽管在图6中展示并行局部总线的具有同步经计时及锁存数据传送的一个特定实施方案,但本发明的实施例并不限于图6中所示的特定实施方案,且可以其它配置或使用其它通信协议实施所述串行耦合的INSN与通信地并行耦合到其的一个或一个以上INSN之间的并行局部总线通信。
在一个或一个以上实施例中,INSN可包含总线管理模块,例如,643-1A、643-1B、…、643-MB。举例来说,在图6中所图解说明的实施例中,总线管理模块643-1A通信地耦合到通道1的串行主机总线(例如,信号线644-1、646-1及648-1)及与通道1相关联的同步并行局部总线(例如,信号线645-1、647-1及649-1)。总线管理模块643-1B、…、643-MB通信地耦合到与通道1相关联的并行局部总线,例如,信号线645-1、647-1及649-1。所述总线管理模块可经配置以控制连接到其的经计时串行主机总线及/或经计时同步并行局部总线。
媒体控制器(例如,632-1A、632-1B、…、632-MB)可通信地耦合于相应总线管理模块(例如,643-1A、643-1B、…、643-MB)与对应于通道1的相应数目个存储器装置(例如,612-1A1、612-1A2、612-1B1、612-1B2、…、612-MB1、612-MB2)之间。
对应于通道1的存储器装置(例如,612-1A1、612-1A2、612-1B1、612-1B2、…、612-MB1、612-MB2)可包含可经布置以提供特定物理或逻辑配置(例如,页、块、平面、阵列或且群组)的若干个存储器单元。根据一个或一个以上实施例,所述INSN各自配置为多芯片封装,例如,640-1A、640-1B、…、640-MB。在一些实施例中,所述多芯片封装可具有用于数据、控制、电力及接地信号的少于20个引脚。举例来说,一个或一个以上实施例的多芯片封装可具有用于主机总线的数据及控制信号的三个(更少个)引脚及用于并行局部总线的额外引脚,如图6中所示。
虽然图6中展示若干个INSN(例如,630-1B、…、630-MB)通信地并行耦合到串行耦合的INSN(例如,630-1A),但本发明的实施例并不分别限于这些数量的串行耦合及并行耦合的INSN。更多或更少个INSN可对应于特定串行耦合的INSN(例如,630-1A)通信地并行耦合。此外,本发明的实施例并不限于使相同数量个串行耦合的INSN及/或并行耦合的INSN通信地耦合到每一通道,且特定通道上串行耦合的INSN及/或并行耦合的INSN的数量可大于或小于另一特定通道上串行耦合的INSN及/或并行耦合的INSN的相应数量。
图7是根据本发明的一个或一个以上实施例的智能NAND存储节点(INSN)的功能性框图。INSN 730可类似于图6中所示的INSN,例如,630-1A、630-1B、630-1C。INSN 730可包含控制电路731(例如,控制器),所述控制电路可包含总线管理器743及媒体控制器732。媒体控制器732可类似于图6中的INSN内所示的控制器,例如,632-1A、632-1B、632-1C。
总线管理器743可包含PCle部分741以与例如以下各项的主机总线介接:时钟信号线(CLK)744(其可类似于图6中所示的时钟信号线644-1)、第一数据线(Q+/-)746(其可类似于图6中所示的第一数据线646-1)及第二数据线(D+/-)748(其可类似于图6中所示的第二数据线648-1)。总线管理器743还可包含局部总线部分743以与例如时钟信号线(CLK)745、第一数据线(Q[X:0])747及第二数据线(D[X:0])749的局部总线介接。如读者将从图7理解,第一数据线(Q)可经配置以具有Y+1个信息数据位的宽度且第二数据线(D)可经配置以具有X+1个信息数据位的宽度。
根据一个或一个以上实施例,存储器的一个或一个以上通道可通信地耦合到媒体控制器732,每一通道包含每通道多达16个NAND(例如,712-1、712-2)。本发明的实施例涵盖其它类型、数量或布置的存储器装置,且通道的数目可多于或少于图7中所图解说明的两个通道。
结论
本发明包含用于存储器系统控制器的方法及装置。在一个或一个以上实施例中,存储器系统控制器包含通信地耦合到系统控制器的主机接口。所述系统控制器具有若干个存储器接口,且被配置用于控制通信地耦合到所述若干个存储器接口的多个智能存储节点。所述系统控制器包含经配置以在物理存储器地址与逻辑存储器地址之间映射的逻辑以及经配置以管理跨越所述多个智能存储节点的损耗均衡的逻辑。
在本发明的实施方式中,参考形成本发明一部分的随附图式,且在随附图式中以图解说明方式展示可如何实践本发明的一个或一个以上实施例。足够详细地描述这些实施例旨在使所属领域的技术人员能够实践本发明的实施例,且应理解,还可利用其它实施例且可在不背离本发明的范围的情况下,做出过程、电或结构改变。
如本文中所使用,标示符“N”、“M”、“X”及“Y”(尤其关于所述图式中的参考编号)指示如此标示的特定特征的编号可与本发明的一个或一个以上实施例包含在一起。如将了解,可添加、更换及/或消除本文中的各种实施例中所展示的元件以提供本发明的若干个额外实施例。另外,如将了解,所述图中所提供的元件的比例及相对标度打算图解说明本发明的实施例且不应理解为限制意义。
将理解,当将第一元件称为“连接到”另一元件或“与”另一元件“耦合”时,打算将所述第一元件在物理上附接到所述两个元件中的另一者。相比之下,当将元件称为“通信地耦合”时,所述元件彼此通信。
将理解,当将元件称为“位于”另一元件“上”、“连接到”另一元件或“与”另一元件“耦合”时,其可以是直接位于另一元件或层上、连接到另一元件或层或者与另一元件或层耦合,或可存在介入元件或层。相比之下,当将元件称为“直接位于”另一元件或层“上”、“直接连接到”另一元件或层,或“直接与”另一元件或层“耦合”时,不存在介入元件或层。如本文中所使用,术语“及/或”包含相关联所列举物项中的一者或一者以上的任何及所有组合。
将理解,虽然本文中可使用第一、第二等术语来描述各种元件、组件、区域、层及区段,但这些元件、组件、区域、布线、层及区段不应受这些术语的限制。这些术语仅用以将一个元件、组件、区域、布线、层或区段与另一区域、层或区段区分开。因此,可将下文所论述的第一元件、组件、区域、布线、层或区段称作第二元件、组件、区域、布线、层或区段,此并不背离本发明的教示内容。
为便于说明,本文中可使用例如“位于…下方”、“位于…下面”、“下部”、“位于…上面”、“上部”等空间相对术语来描述如图中所图解说明的一个元件或特征与另一(些)元件或特征的关系而非在空间中的绝对定向。将理解,除图中所描绘的定向以外,所述空间相对术语还打算囊括装置在使用或操作中的不同定向。举例来说,如果将图中的装置翻转,那么描述为“位于”其它元件或特征“下面”或“下方”的元件将定向为“位于”其它元件或特征“上面”。因此,实例性术语“位于…下面”可囊括位于…上面及位于…下面两种定向。装置可以其它方式定向(旋转90度或以其它定向)且可相应地解释本文中所用的空间相对描述语。
本文中所使用的术语仅出于描述特定实施例的目的且并非打算限制本发明。如本文中所使用,单数形式“一(a)”、“一(an)”及“所述(the)”打算也包含复数形式,除非上下文另有明确指示。将进一步理解,当本说明书中使用术语“包括(comprises)”及“包括(comprising)”时,其规定存在所陈述特征、整数、步骤、操作、元件或组件,但不排除存在或添加一个或一个以上其它特征、整数、步骤、操作、元件、组件或其群组。
除非另外界定,否则本文中所使用的所有术语(包含技术及科学术语)具有与本发明所属领域的技术人员通常理解的意义相同的意义。将进一步理解,应将例如在常用字典中所界定的那些术语等术语解释为具有与其在相关技术及本发明的上下文中的意义相一致的意义,且不应以理想化或过分形式化的意义来解释,除非本文中明确界定如此。
本文参考功能性框图图解说明来描述本发明的实施例,所述功能性框图图解说明是本发明的理想化实施例的示意性图解说明。如此,预期所述图解说明的形状会因(例如)制造技术及/或公差而发生变化。因此,本发明的实施例不应被理解为仅限于本文中所图解说明的区域的特定形状,而将包含因(例如)制造所引起的形状偏差。举例来说,图解说明或描述为扁平的区域通常可具有粗糙或非线性特征。此外,可将所图解说明的锐角修圆。因此,所述图中所图解说明的区域本质上为示意性,且其形状及相对大小、厚度等并非打算图解说明区域的精确形状/大小/厚度且并非打算限制本发明的范围。
虽然本文中已图解说明及描述了特定实施例,但所属领域的技术人员将了解,旨在实现相同结果的布置可替代所展示的具体实施例。本发明打算涵盖本发明的一个或一个以上实施例的修改或变化形式。应理解,已以说明性方式而非限制性方式做出以上说明。在审阅以上说明后,所属领域的技术人员将明了以上实施例的组合及本文中未具体描述的其它实施例。本发明的一个或一个以上实施例的范围包含其中使用以上结构及方法的其它应用。因此,应参考所附权利要求书连同授权此权利要求书的等效物的全部范围一起来确定本发明的一个或一个以上实施例的范围。
在前述实施方式中,出于简化本发明的目的而将某些特征一起集合于单个实施例中。本发明的此方法不应解释为反映本发明的所揭示实施例必须使用比每一权利要求中所明确陈述的特征更多的特征的意图。而是,如以上权利要求书反映:发明性标的物在于少于单个所揭示实施例的所有特征。因此,特此将以上权利要求书并入到实施方式中,其中每一权利要求独立地作为单独实施例。

Claims (42)

1.一种存储器系统控制器,其包括:
主机接口;及
系统控制器,其通信地耦合到所述主机接口,且具有若干个存储器接口,
其中所述系统控制器被配置用于控制通信地耦合到所述若干个存储器接口的多个智能NAND存储节点(INSN),所述系统控制器包含经配置以在物理存储器地址与逻辑存储器地址之间映射的逻辑以及经配置以管理跨越所述多个INSN的损耗均衡的逻辑。
2.根据权利要求1所述的存储器系统控制器,其中所述存储器接口为同步存储器接口。
3.根据权利要求2所述的存储器系统控制器,其中所述INSN的第一部分通信地并行耦合到所述若干个同步存储器接口中的一者。
4.根据权利要求3所述的存储器系统控制器,其中所述INSN的第二部分通信地并行耦合到所述若干个同步存储器接口中的不同一者。
5.根据权利要求1所述的存储器系统控制器,其中所述存储器接口为串行存储器接口。
6.根据权利要求5所述的存储器系统控制器,其中所述系统控制器经配置以在无逻辑块信息的情况下产生物理页存储器存取请求。
7.根据权利要求5所述的存储器系统控制器,其中所述若干个串行存储器接口中的每一者经配置以与通信地耦合到其的至少两个INSN通信。
8.根据权利要求5所述的存储器系统控制器,其中所述系统控制器包含经配置以管理跨越所有所述INSN的损耗均衡的逻辑。
9.根据权利要求1到8中任一权利要求所述的存储器系统控制器,其中所述INSN各自具有若干个存储器装置。
10.根据权利要求9所述的存储器系统控制器,其中所述经配置以管理跨越所述若干个INSN的损耗均衡的逻辑包含用以管理跨越特定INSN的所述若干个存储器装置的损耗均衡的逻辑。
11.根据权利要求9所述的存储器系统控制器,其中所述经配置以管理跨越所述若干个INSN的损耗均衡的逻辑包含经配置以管理跨越多个INSN的所述若干个存储器装置的损耗均衡的逻辑。
12.根据权利要求11所述的存储器系统控制器,其中所述经配置以管理跨越所述若干个INSN的损耗均衡的逻辑包含经配置以管理跨越所有INSN的所有存储器装置的损耗均衡的逻辑。
13.一种存储器系统,其包括:
系统控制器与主机接口(SCHI),其包含:
主机接口,及
存储器系统控制器,其通信地耦合到所述主机接口,且具有至少两个串行存储器接口;及
多个存储节点,其通信地耦合到所述至少两个串行存储器接口,
其中所述存储器系统控制器被配置用于控制所述多个存储节点,包含提供所述多个存储节点的集中式物理地址/逻辑地址翻译,及管理跨越所述多个存储节点的损耗均衡。
14.根据权利要求13所述的存储器系统,其中所述多个存储节点为智能NAND存储节点(INSN)。
15.根据权利要求13所述的存储器系统,其中所述多个存储节点包含若干个存储器装置。
16.根据权利要求15所述的存储器系统,其中所述多个存储节点各自包含通信地耦合到所述若干个存储器装置的节点存储器控制器。
17.根据权利要求16所述的存储器系统,其中所述若干个存储器装置为NAND快闪存储器装置。
18.根据权利要求17所述的存储器系统,其中每一节点存储器控制器通过开放式NAND快闪接口(ONFi)通信地耦合到所述若干个NAND快闪存储器装置。
19.根据权利要求13到18中任一权利要求所述的存储器系统,其中所述多个存储节点各自配置于多芯片封装中。
20.根据权利要求19所述的存储器系统,其中所述多芯片封装具有少于20个引脚。
21.根据权利要求20所述的存储器系统,其中所述多芯片封装具有不多于3个用于数据及控制信号的引脚。
22.根据权利要求13到15中任一权利要求所述的存储器系统,其中所述多个存储节点为固态驱动器。
23.一种存储器系统,其包括:
多个智能NAND存储节点(INSN);及
存储器系统控制器,其通过第一串行接口通信地耦合到所述多个INSN的第一部分,且通过第二串行接口通信地耦合到所述多个INSN的第二部分,
其中所述存储器系统控制器经配置以在由主机系统利用的逻辑地址与由所述多个INSN利用的物理地址之间映射,且所述存储器系统控制器经配置以管理跨越所述多个INSN的损耗均衡。
24.根据权利要求23所述的存储器系统,其中所述多个INSN的所述第一部分包含多个INSN。
25.根据权利要求23到24中任一权利要求所述的存储器系统,其中所述多个INSN的所述第二部分包含多个INSN。
26.根据权利要求23到24中任一权利要求所述的存储器系统,其中所述第一及第二串行接口为串行通信总线,且所述多个INSN的所述第一部分以菊花链形式布置到所述第一串行通信总线,且所述多个INSN的所述第二部分以菊花链形式布置到所述第二串行通信总线。
27.根据权利要求26所述的存储器系统,其中所述INSN中的每一者包含总线管理模块。
28.根据权利要求27所述的存储器系统,其中每一总线管理模块通信地耦合到所述节点存储器控制器,且经配置以控制串行通信总线用于将数据传输到所述存储器系统控制器。
29.根据权利要求27所述的存储器系统,其中所述多个INSN各自包含若干个NAND快闪存储器装置及一节点控制器,所述节点控制器通信地耦合于其上的所述NAND快闪存储器装置与所述节点控制器之间。
30.根据权利要求29所述的存储器系统,其中每一节点控制器经配置以控制NAND快闪存储器装置存取且管理NAND快闪存储器装置缺陷。
31.根据权利要求29所述的存储器系统,其中每一节点控制器经配置以检测且校正存储于所述NAND快闪存储器装置中的数据中的错误。
32.一种操作存储器系统的方法,其包括:
使用若干个串行通信接口在多个存储节点与一存储器系统控制器之间建立通信,所述多个存储节点中的每一者具有通信地耦合于特定串行通信接口与若干个存储器装置之间的节点控制器;
在所述存储器系统控制器处管理所述多个存储节点当中的损耗均衡;及
在所述存储器系统控制器处针对所述多个存储节点在逻辑地址与物理地址之间进行翻译。
33.根据权利要求32所述的方法,其包含在所述存储器系统控制器处管理特定存储节点的所述若干个存储器装置当中的损耗均衡。
34.根据权利要求33所述的方法,其包含在与特定存储节点相关联的所述节点控制器处管理所述特定存储节点的所述若干个存储器装置当中的错误校正。
35.根据权利要求34所述的方法,其包含在所述存储器系统控制器处管理多个存储节点的所述若干个存储器装置当中的损耗均衡。
36.根据权利要求35所述的方法,其中管理多个存储节点的所述若干个存储器装置当中的损耗均衡包含检测所述若干个存储器装置之间的损耗差异。
37.根据权利要求35到36中任一权利要求所述的方法,其中管理多个存储节点的所述若干个存储器装置当中的损耗均衡包含检测个别存储器装置中高于限值的损耗。
38.根据权利要求37所述的方法,其中所述限值为预设的固定限值。
39.根据权利要求37所述的方法,其中所述限值为动态限值。
40.一种用于操作存储器系统的方法,其包括:
从主机系统接收对应于一系列逻辑地址的写入命令及相关联数据;
基于若干个存储节点当中的损耗均衡,在存储器系统控制器处确定所述若干个存储节点中将在其中存储所述相关联数据的特定存储节点;
将所述系列的逻辑地址映射到所述特定存储节点的物理地址;及
通过存储节点的菊花链将所述数据串行传输到所述特定存储节点。
41.根据权利要求40所述的方法,其中所述若干个存储节点为智能NAND存储节点(INSN),且所述方法包含在不参考逻辑块的情况下由所述存储器系统控制器将物理页存取请求传递到所述INSN。
42.根据权利要求40到41中任一权利要求所述的方法,其包含在通过存储节点的菊花链串行传输所述数据之前,在所述存储器系统控制器上将磁盘驱动协议翻译成原始NAND命令。
CN200980154266.9A 2009-01-08 2009-12-30 存储器系统控制器 Active CN102272745B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/350,686 US8412880B2 (en) 2009-01-08 2009-01-08 Memory system controller to manage wear leveling across a plurality of storage nodes
US12/350,686 2009-01-08
PCT/US2009/006740 WO2010080141A2 (en) 2009-01-08 2009-12-30 Memory system controller

Publications (2)

Publication Number Publication Date
CN102272745A true CN102272745A (zh) 2011-12-07
CN102272745B CN102272745B (zh) 2014-11-26

Family

ID=42312440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980154266.9A Active CN102272745B (zh) 2009-01-08 2009-12-30 存储器系统控制器

Country Status (7)

Country Link
US (2) US8412880B2 (zh)
EP (1) EP2377027B1 (zh)
JP (1) JP5453661B2 (zh)
KR (1) KR101274306B1 (zh)
CN (1) CN102272745B (zh)
TW (2) TW201418989A (zh)
WO (1) WO2010080141A2 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226528A (zh) * 2012-01-31 2013-07-31 上海华虹集成电路有限责任公司 多通道与非型闪存控制器
CN103999060A (zh) * 2011-12-23 2014-08-20 国际商业机器公司 固态存储管理
CN104008017A (zh) * 2013-02-26 2014-08-27 希捷科技有限公司 向主机服务质量指标分配权重
CN104123249A (zh) * 2014-07-22 2014-10-29 山西达鑫核科技有限公司 一种串行访问的新型动态存储器sddr架构阵列
CN106951180A (zh) * 2016-01-07 2017-07-14 三星电子株式会社 数据存储装置以及包括数据存储装置的数据处理系统
CN108334459A (zh) * 2018-02-27 2018-07-27 联芸科技(杭州)有限公司 一种多端口固态硬盘的实现方案
CN108628755A (zh) * 2017-03-17 2018-10-09 爱思开海力士有限公司 存储器系统
CN108647153A (zh) * 2013-03-15 2018-10-12 美光科技公司 用于存储器的自适应控制的设备及方法
CN110275668A (zh) * 2018-03-14 2019-09-24 群联电子股份有限公司 区块管理方法、存储器控制电路单元与存储器存储装置
CN112151105A (zh) * 2019-06-26 2020-12-29 美光科技公司 使用测试垫实时监测的存储器系统测试仪
CN113728386A (zh) * 2019-03-14 2021-11-30 铠侠股份有限公司 使用交换式架构的用于串行接口存储器的系统及方法
CN113851172A (zh) * 2020-06-25 2021-12-28 美光科技公司 存储器子系统映射中的错误处置优化

Families Citing this family (199)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924661B1 (en) * 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US9037986B2 (en) * 2009-03-20 2015-05-19 Lara M. Sosnosky Online virtual safe deposit box user experience
US8341338B2 (en) * 2009-05-06 2012-12-25 Samsung Electronics Co., Ltd. Data storage device and related method of operation
US8370712B2 (en) * 2009-07-23 2013-02-05 International Business Machines Corporation Memory management in a non-volatile solid state memory device
US8407449B1 (en) 2010-02-26 2013-03-26 Western Digital Technologies, Inc. Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table
US9104546B2 (en) * 2010-05-24 2015-08-11 Silicon Motion Inc. Method for performing block management using dynamic threshold, and associated memory device and controller thereof
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
WO2012060824A1 (en) 2010-11-02 2012-05-10 Hewlett-Packard Development Company, L.P. Solid-state disk (ssd) management
US10108684B2 (en) 2010-11-02 2018-10-23 Micron Technology, Inc. Data signal mirroring
US8595415B2 (en) 2011-02-02 2013-11-26 Micron Technology, Inc. At least semi-autonomous modules in a memory system and methods
US8626989B2 (en) 2011-02-02 2014-01-07 Micron Technology, Inc. Control arrangements and methods for accessing block oriented nonvolatile memory
US8732431B2 (en) 2011-03-06 2014-05-20 Micron Technology, Inc. Logical address translation
US8856482B2 (en) 2011-03-11 2014-10-07 Micron Technology, Inc. Systems, devices, memory controllers, and methods for memory initialization
US9239806B2 (en) 2011-03-11 2016-01-19 Micron Technology, Inc. Systems, devices, memory controllers, and methods for controlling memory
US9135160B1 (en) 2011-03-28 2015-09-15 Rambus Inc. Devices, systems, and methods for wear leveling memory
US8806090B2 (en) * 2011-05-31 2014-08-12 Micron Technology, Inc. Apparatus including buffer allocation management and related methods
US9514838B2 (en) 2011-05-31 2016-12-06 Micron Technology, Inc. Apparatus including memory system controllers and related methods for memory management using block tables
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US9195530B1 (en) 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
US8880819B2 (en) 2011-12-13 2014-11-04 Micron Technology, Inc. Memory apparatuses, computer systems and methods for ordering memory responses
KR101404260B1 (ko) * 2011-12-23 2014-06-05 한양대학교 산학협력단 플래시 메모리의 수명 인디케이터를 제공하는 장치 및 장치
US20130185487A1 (en) * 2012-01-18 2013-07-18 Samsung Electronics Co., Ltd Memory system and mobile device including host and flash memory-based storage device
US9053008B1 (en) 2012-03-26 2015-06-09 Western Digital Technologies, Inc. Systems and methods for providing inline parameter service in data storage devices
US9003224B2 (en) 2012-04-25 2015-04-07 Western Digital Technologies, Inc. Managing unreliable memory in data storage systems
US9846641B2 (en) 2012-06-18 2017-12-19 International Business Machines Corporation Variability aware wear leveling
US8898548B1 (en) 2012-08-24 2014-11-25 Western Digital Technologies, Inc. Methods, data storage devices and systems having variable size ECC page size
TWI492051B (zh) * 2012-09-05 2015-07-11 Silicon Motion Inc 資料儲存裝置與快閃記憶體控制方法
US9268682B2 (en) 2012-10-05 2016-02-23 Skyera, Llc Methods, devices and systems for physical-to-logical mapping in solid state drives
US9507523B1 (en) 2012-10-12 2016-11-29 Western Digital Technologies, Inc. Methods, devices and systems for variable size logical page management in a solid state drive
US9489296B1 (en) 2012-10-17 2016-11-08 Western Digital Technologies, Inc. Methods, devices and systems for hardware-based garbage collection in solid state drives
US8954694B2 (en) 2012-11-15 2015-02-10 Western Digital Technologies, Inc. Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive
KR101420754B1 (ko) * 2012-11-22 2014-07-17 주식회사 이에프텍 비휘발성 메모리 시스템 및 이를 위한 맵핑 테이블 관리 방법
US9117504B2 (en) 2013-07-03 2015-08-25 Micron Technology, Inc. Volume select for affecting a state of a non-selected memory volume
US9898404B2 (en) * 2013-07-14 2018-02-20 Cnex Labs Method and apparatus for providing improved garbage collection process in solid state drive
US9542278B2 (en) 2013-12-26 2017-01-10 Silicon Motion, Inc. Data storage device and flash memory control method
US9354955B1 (en) 2014-03-19 2016-05-31 Western Digital Technologies, Inc. Partial garbage collection for fast error handling and optimized garbage collection for the invisible band
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
US9836234B2 (en) 2014-06-04 2017-12-05 Pure Storage, Inc. Storage cluster
US8850108B1 (en) 2014-06-04 2014-09-30 Pure Storage, Inc. Storage cluster
US9213485B1 (en) * 2014-06-04 2015-12-15 Pure Storage, Inc. Storage system architecture
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
US11652884B2 (en) 2014-06-04 2023-05-16 Pure Storage, Inc. Customized hash algorithms
US9612952B2 (en) 2014-06-04 2017-04-04 Pure Storage, Inc. Automatically reconfiguring a storage memory topology
US11068363B1 (en) 2014-06-04 2021-07-20 Pure Storage, Inc. Proactively rebuilding data in a storage cluster
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US9959203B2 (en) 2014-06-23 2018-05-01 Google Llc Managing storage devices
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US11886308B2 (en) 2014-07-02 2024-01-30 Pure Storage, Inc. Dual class of service for unified file and object messaging
US11604598B2 (en) 2014-07-02 2023-03-14 Pure Storage, Inc. Storage cluster with zoned drives
US9021297B1 (en) 2014-07-02 2015-04-28 Pure Storage, Inc. Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
US10114757B2 (en) 2014-07-02 2018-10-30 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US9836245B2 (en) 2014-07-02 2017-12-05 Pure Storage, Inc. Non-volatile RAM and flash memory in a non-volatile solid-state storage
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US10853311B1 (en) 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
US9747229B1 (en) 2014-07-03 2017-08-29 Pure Storage, Inc. Self-describing data format for DMA in a non-volatile solid-state storage
US8874836B1 (en) 2014-07-03 2014-10-28 Pure Storage, Inc. Scheduling policy for queues in a non-volatile solid-state storage
JP5971423B2 (ja) * 2014-07-23 2016-08-17 富士通株式会社 情報処理装置、メモリコントローラ、記憶装置の制御プログラム及び記憶装置の制御方法
US10528461B2 (en) * 2014-08-04 2020-01-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Controlling wear among flash memory devices based on remaining warranty
US9082512B1 (en) 2014-08-07 2015-07-14 Pure Storage, Inc. Die-level monitoring in a storage cluster
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US10983859B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Adjustable error correction based on memory health in a storage unit
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9766972B2 (en) 2014-08-07 2017-09-19 Pure Storage, Inc. Masking defective bits in a storage array
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US10079711B1 (en) 2014-08-20 2018-09-18 Pure Storage, Inc. Virtual file server with preserved MAC address
US9710176B1 (en) * 2014-08-22 2017-07-18 Sk Hynix Memory Solutions Inc. Maintaining wear spread by dynamically adjusting wear-leveling frequency
WO2016032817A1 (en) * 2014-08-26 2016-03-03 Marvell World Trade Ltd. Storage device controller architecture
US9582201B2 (en) 2014-09-26 2017-02-28 Western Digital Technologies, Inc. Multi-tier scheme for logical storage management
US9678677B2 (en) * 2014-12-09 2017-06-13 Intel Corporation Determining adjustments to the spare space in a storage device unavailable to a user based on a current consumption profile of a storage device
US10338817B2 (en) * 2014-12-30 2019-07-02 Sandisk Technologies Llc Systems and methods for storage recovery
US9948615B1 (en) 2015-03-16 2018-04-17 Pure Storage, Inc. Increased storage unit encryption based on loss of trust
US11294893B2 (en) 2015-03-20 2022-04-05 Pure Storage, Inc. Aggregation of queries
US9940234B2 (en) 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US9672125B2 (en) 2015-04-10 2017-06-06 Pure Storage, Inc. Ability to partition an array into two or more logical arrays with independently running software
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US9817576B2 (en) 2015-05-27 2017-11-14 Pure Storage, Inc. Parallel update to NVRAM
US9502082B1 (en) * 2015-06-24 2016-11-22 Intel Corporation Power management in dual memory platforms
US10846275B2 (en) 2015-06-26 2020-11-24 Pure Storage, Inc. Key management in a storage device
US10983732B2 (en) 2015-07-13 2021-04-20 Pure Storage, Inc. Method and system for accessing a file
US9921969B2 (en) 2015-07-14 2018-03-20 Western Digital Technologies, Inc. Generation of random address mapping in non-volatile memories using local and global interleaving
US10445232B2 (en) 2015-07-14 2019-10-15 Western Digital Technologies, Inc. Determining control states for address mapping in non-volatile memories
US10445251B2 (en) 2015-07-14 2019-10-15 Western Digital Technologies, Inc. Wear leveling in non-volatile memories
US10452533B2 (en) 2015-07-14 2019-10-22 Western Digital Technologies, Inc. Access network for address mapping in non-volatile memories
US10452560B2 (en) 2015-07-14 2019-10-22 Western Digital Technologies, Inc. Wear leveling in non-volatile memories
US11232079B2 (en) 2015-07-16 2022-01-25 Pure Storage, Inc. Efficient distribution of large directories
US10108355B2 (en) 2015-09-01 2018-10-23 Pure Storage, Inc. Erase block state detection
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US20170091127A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Techniques to Couple with a Storage Device via Multiple Communication Ports
US10762069B2 (en) 2015-09-30 2020-09-01 Pure Storage, Inc. Mechanism for a system where data and metadata are located closely together
US9768953B2 (en) 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
US10853266B2 (en) 2015-09-30 2020-12-01 Pure Storage, Inc. Hardware assisted data lookup methods
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
TWI629638B (zh) * 2015-11-10 2018-07-11 慧榮科技股份有限公司 儲存裝置及其任務執行方法、對應於儲存裝置的主機及其任務執行方法、以及應用於儲存裝置的控制單元
US10007457B2 (en) 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
US11231858B2 (en) 2016-05-19 2022-01-25 Pure Storage, Inc. Dynamically configuring a storage system to facilitate independent scaling of resources
US10691567B2 (en) 2016-06-03 2020-06-23 Pure Storage, Inc. Dynamically forming a failure domain in a storage system that includes a plurality of blades
US10353588B1 (en) * 2016-06-30 2019-07-16 EMC IP Holding Company LLC Managing dynamic resource reservation for host I/O requests
US11706895B2 (en) 2016-07-19 2023-07-18 Pure Storage, Inc. Independent scaling of compute resources and storage resources in a storage system
US11861188B2 (en) 2016-07-19 2024-01-02 Pure Storage, Inc. System having modular accelerators
US10768819B2 (en) 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
US11449232B1 (en) 2016-07-22 2022-09-20 Pure Storage, Inc. Optimal scheduling of flash operations
US9672905B1 (en) 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
US10216420B1 (en) 2016-07-24 2019-02-26 Pure Storage, Inc. Calibration of flash channels in SSD
US11080155B2 (en) 2016-07-24 2021-08-03 Pure Storage, Inc. Identifying error types among flash memory
US11604690B2 (en) 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
US11734169B2 (en) 2016-07-26 2023-08-22 Pure Storage, Inc. Optimizing spool and memory space management
US11886334B2 (en) 2016-07-26 2024-01-30 Pure Storage, Inc. Optimizing spool and memory space management
US10366004B2 (en) 2016-07-26 2019-07-30 Pure Storage, Inc. Storage system with elective garbage collection to reduce flash contention
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US11797212B2 (en) 2016-07-26 2023-10-24 Pure Storage, Inc. Data migration for zoned drives
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US9747158B1 (en) 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
US11955187B2 (en) 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
US10979223B2 (en) 2017-01-31 2021-04-13 Pure Storage, Inc. Separate encryption for a solid-state drive
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11016667B1 (en) 2017-04-05 2021-05-25 Pure Storage, Inc. Efficient mapping for LUNs in storage memory with holes in address space
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10141050B1 (en) 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
US10516645B1 (en) 2017-04-27 2019-12-24 Pure Storage, Inc. Address resolution broadcasting in a networked device
US11467913B1 (en) 2017-06-07 2022-10-11 Pure Storage, Inc. Snapshots with crash consistency in a storage system
US11947814B2 (en) 2017-06-11 2024-04-02 Pure Storage, Inc. Optimizing resiliency group formation stability
US11782625B2 (en) 2017-06-11 2023-10-10 Pure Storage, Inc. Heterogeneity supportive resiliency groups
US11138103B1 (en) 2017-06-11 2021-10-05 Pure Storage, Inc. Resiliency groups
US10425473B1 (en) 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US10140222B1 (en) 2017-07-06 2018-11-27 Micron Technology, Inc. Interface components
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10210926B1 (en) 2017-09-15 2019-02-19 Pure Storage, Inc. Tracking of optimum read voltage thresholds in nand flash devices
US10877827B2 (en) 2017-09-15 2020-12-29 Pure Storage, Inc. Read voltage optimization
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10545687B1 (en) 2017-10-31 2020-01-28 Pure Storage, Inc. Data rebuild when changing erase block sizes during drive replacement
US10515701B1 (en) 2017-10-31 2019-12-24 Pure Storage, Inc. Overlapping raid groups
US11024390B1 (en) 2017-10-31 2021-06-01 Pure Storage, Inc. Overlapping RAID groups
US10496330B1 (en) 2017-10-31 2019-12-03 Pure Storage, Inc. Using flash storage devices with different sized erase blocks
JP7010667B2 (ja) * 2017-11-06 2022-01-26 キオクシア株式会社 メモリシステムおよび制御方法
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10990566B1 (en) 2017-11-20 2021-04-27 Pure Storage, Inc. Persistent file locks in a storage system
US10719265B1 (en) 2017-12-08 2020-07-21 Pure Storage, Inc. Centralized, quorum-aware handling of device reservation requests in a storage system
US10929053B2 (en) 2017-12-08 2021-02-23 Pure Storage, Inc. Safe destructive actions on drives
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US10976948B1 (en) 2018-01-31 2021-04-13 Pure Storage, Inc. Cluster expansion mechanism
US10733053B1 (en) 2018-01-31 2020-08-04 Pure Storage, Inc. Disaster recovery for high-bandwidth distributed archives
US10782908B2 (en) 2018-02-05 2020-09-22 Micron Technology, Inc. Predictive data orchestration in multi-tier memory systems
US11416395B2 (en) 2018-02-05 2022-08-16 Micron Technology, Inc. Memory virtualization for accessing heterogeneous memory components
US20190243787A1 (en) * 2018-02-05 2019-08-08 Micron Technology, Inc. Memory Systems having Controllers Embedded in Packages of Integrated Circuit Memory
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
TWI689816B (zh) * 2018-03-06 2020-04-01 群聯電子股份有限公司 區塊管理方法、記憶體控制電路單元與記憶體儲存裝置
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US10853146B1 (en) 2018-04-27 2020-12-01 Pure Storage, Inc. Efficient data forwarding in a networked device
US10931450B1 (en) 2018-04-27 2021-02-23 Pure Storage, Inc. Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US11438279B2 (en) 2018-07-23 2022-09-06 Pure Storage, Inc. Non-disruptive conversion of a clustered service from single-chassis to multi-chassis
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US10454498B1 (en) 2018-10-18 2019-10-22 Pure Storage, Inc. Fully pipelined hardware engine design for fast and efficient inline lossless data compression
US10976947B2 (en) 2018-10-26 2021-04-13 Pure Storage, Inc. Dynamically selecting segment heights in a heterogeneous RAID group
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US10852949B2 (en) 2019-04-15 2020-12-01 Micron Technology, Inc. Predictive data pre-fetching in a data storage device
US11714572B2 (en) 2019-06-19 2023-08-01 Pure Storage, Inc. Optimized data resiliency in a modular storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US11893126B2 (en) 2019-10-14 2024-02-06 Pure Storage, Inc. Data deletion for a multi-tenant environment
WO2021113420A1 (en) * 2019-12-03 2021-06-10 Burlywood, Inc. Adaptive wear leveling using multiple partitions
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11847331B2 (en) 2019-12-12 2023-12-19 Pure Storage, Inc. Budgeting open blocks of a storage unit based on power loss prevention
US11188432B2 (en) 2020-02-28 2021-11-30 Pure Storage, Inc. Data resiliency by partially deallocating data blocks of a storage device
US11507297B2 (en) 2020-04-15 2022-11-22 Pure Storage, Inc. Efficient management of optimal read levels for flash storage systems
US11256587B2 (en) 2020-04-17 2022-02-22 Pure Storage, Inc. Intelligent access to a storage device
US11416338B2 (en) 2020-04-24 2022-08-16 Pure Storage, Inc. Resiliency scheme to enhance storage performance
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
KR20210158579A (ko) * 2020-06-24 2021-12-31 삼성전자주식회사 용량 확장성을 가지는 스토리지 시스템 및 그 구동 방법
US11768763B2 (en) 2020-07-08 2023-09-26 Pure Storage, Inc. Flash secure erase
US11513974B2 (en) 2020-09-08 2022-11-29 Pure Storage, Inc. Using nonce to control erasure of data blocks of a multi-controller storage system
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
US11630593B2 (en) 2021-03-12 2023-04-18 Pure Storage, Inc. Inline flash memory qualification in a storage system
US11507597B2 (en) 2021-03-31 2022-11-22 Pure Storage, Inc. Data replication to meet a recovery point objective
JP2022188572A (ja) * 2021-06-09 2022-12-21 キオクシア株式会社 半導体装置、メモリシステム、及びチップ
US11556467B1 (en) * 2021-07-13 2023-01-17 Micron Technology, Inc. Optimizing garbage collection that uses a logical-to-physical table search
US11832410B2 (en) 2021-09-14 2023-11-28 Pure Storage, Inc. Mechanical energy absorbing bracket apparatus

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5235685A (en) * 1989-05-11 1993-08-10 Data General Corp. Interface bus with independent data, command and direct control sections for parallel transfer of information between host and intelligent storage
US5278961A (en) * 1990-02-22 1994-01-11 Hewlett-Packard Company Physical address to logical address translator for memory management units
US5787445A (en) * 1996-03-07 1998-07-28 Norris Communications Corporation Operating system including improved file management for use in devices utilizing flash memory as main memory
GB9903490D0 (en) * 1999-02-17 1999-04-07 Memory Corp Plc Memory system
US7953931B2 (en) * 1999-08-04 2011-05-31 Super Talent Electronics, Inc. High endurance non-volatile memory devices
US7827348B2 (en) * 2000-01-06 2010-11-02 Super Talent Electronics, Inc. High performance flash memory devices (FMD)
US7690031B2 (en) 2000-01-06 2010-03-30 Super Talent Electronics, Inc. Managing bad blocks in flash memory for electronic data flash card
US8266367B2 (en) * 2003-12-02 2012-09-11 Super Talent Electronics, Inc. Multi-level striping and truncation channel-equalization for flash-memory system
US8341332B2 (en) * 2003-12-02 2012-12-25 Super Talent Electronics, Inc. Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices
KR100437609B1 (ko) * 2001-09-20 2004-06-30 주식회사 하이닉스반도체 반도체 메모리 장치의 어드레스 변환 방법 및 그 장치
WO2004027649A1 (en) * 2002-09-18 2004-04-01 Netezza Corporation Asymmetric streaming record data processor method and apparatus
TWI227409B (en) * 2003-06-05 2005-02-01 Carry Computer Eng Co Ltd Storage device capable of enhancing transmission speed
US7139863B1 (en) * 2003-09-26 2006-11-21 Storage Technology Corporation Method and system for improving usable life of memory devices using vector processing
JP3912355B2 (ja) * 2003-10-14 2007-05-09 ソニー株式会社 データ管理装置、データ管理方法、不揮発性メモリ、不揮発性メモリを有する記憶装置及びデータ処理システム
US20090204872A1 (en) * 2003-12-02 2009-08-13 Super Talent Electronics Inc. Command Queuing Smart Storage Transfer Manager for Striping Data to Raw-NAND Flash Modules
US7366864B2 (en) * 2004-03-08 2008-04-29 Micron Technology, Inc. Memory hub architecture having programmable lane widths
JP4828816B2 (ja) * 2004-10-25 2011-11-30 株式会社東芝 メモリカード、半導体装置、及びメモリカードの制御方法
US8055833B2 (en) * 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US7934049B2 (en) * 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
US8024508B2 (en) * 2006-03-21 2011-09-20 Lg Electronics Inc. Computer storage control
KR101128172B1 (ko) * 2006-03-21 2012-03-23 엘지전자 주식회사 컴퓨터 시스템의 스토리지 제어장치 및 방법
JP4863749B2 (ja) * 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
ES2498096T3 (es) * 2006-03-31 2014-09-24 Mosaid Technologies Incorporated Esquema de control de sistema de memoria Flash
US7586784B2 (en) * 2006-06-09 2009-09-08 Micron Technology, Inc. Apparatus and methods for programming multilevel-cell NAND memory devices
JP4945183B2 (ja) 2006-07-14 2012-06-06 株式会社東芝 メモリコントローラ
CN101118783A (zh) * 2006-09-07 2008-02-06 晶天电子(深圳)有限公司 带有闪存坏块控制系统的电子数据闪存卡
JP4942446B2 (ja) * 2006-10-11 2012-05-30 株式会社日立製作所 ストレージ装置及びその制御方法
US8010768B2 (en) * 2007-05-09 2011-08-30 Kingston Technology Corporation Secure and scalable solid state disk system
US20100017650A1 (en) * 2008-07-19 2010-01-21 Nanostar Corporation, U.S.A Non-volatile memory data storage system with reliability management
US20100017556A1 (en) * 2008-07-19 2010-01-21 Nanostar Corporationm U.S.A. Non-volatile memory storage system with two-stage controller architecture
KR100974215B1 (ko) * 2008-10-02 2010-08-06 주식회사 하이닉스반도체 반도체 스토리지 시스템 및 그 제어 방법

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103999060A (zh) * 2011-12-23 2014-08-20 国际商业机器公司 固态存储管理
CN103226528A (zh) * 2012-01-31 2013-07-31 上海华虹集成电路有限责任公司 多通道与非型闪存控制器
CN104008017A (zh) * 2013-02-26 2014-08-27 希捷科技有限公司 向主机服务质量指标分配权重
CN104008017B (zh) * 2013-02-26 2018-07-31 希捷科技有限公司 向主机服务质量指标分配权重
CN108647153A (zh) * 2013-03-15 2018-10-12 美光科技公司 用于存储器的自适应控制的设备及方法
US11625321B2 (en) 2013-03-15 2023-04-11 Micron Technology, Inc. Apparatuses and methods for memory address translation during block migration using depth mapping table based on mapping state
CN104123249A (zh) * 2014-07-22 2014-10-29 山西达鑫核科技有限公司 一种串行访问的新型动态存储器sddr架构阵列
CN104123249B (zh) * 2014-07-22 2018-03-09 山西达鑫核科技有限公司 一种串行访问的新型动态存储器sddr架构阵列
CN106951180A (zh) * 2016-01-07 2017-07-14 三星电子株式会社 数据存储装置以及包括数据存储装置的数据处理系统
CN108628755A (zh) * 2017-03-17 2018-10-09 爱思开海力士有限公司 存储器系统
CN108628755B (zh) * 2017-03-17 2023-05-02 爱思开海力士有限公司 存储器系统
CN108334459B (zh) * 2018-02-27 2020-11-13 联芸科技(杭州)有限公司 一种多端口固态硬盘的实现方案
CN108334459A (zh) * 2018-02-27 2018-07-27 联芸科技(杭州)有限公司 一种多端口固态硬盘的实现方案
CN110275668A (zh) * 2018-03-14 2019-09-24 群联电子股份有限公司 区块管理方法、存储器控制电路单元与存储器存储装置
CN113728386A (zh) * 2019-03-14 2021-11-30 铠侠股份有限公司 使用交换式架构的用于串行接口存储器的系统及方法
CN112151105A (zh) * 2019-06-26 2020-12-29 美光科技公司 使用测试垫实时监测的存储器系统测试仪
CN113851172A (zh) * 2020-06-25 2021-12-28 美光科技公司 存储器子系统映射中的错误处置优化
CN113851172B (zh) * 2020-06-25 2022-08-23 美光科技公司 存储器子系统映射中的错误处置优化

Also Published As

Publication number Publication date
TW201418989A (zh) 2014-05-16
US20130219113A1 (en) 2013-08-22
WO2010080141A2 (en) 2010-07-15
WO2010080141A3 (en) 2010-09-23
TWI484341B (zh) 2015-05-11
CN102272745B (zh) 2014-11-26
EP2377027A2 (en) 2011-10-19
KR20110095935A (ko) 2011-08-25
US8412880B2 (en) 2013-04-02
JP5453661B2 (ja) 2014-03-26
EP2377027A4 (en) 2012-12-12
JP2012514808A (ja) 2012-06-28
US9104555B2 (en) 2015-08-11
EP2377027B1 (en) 2014-05-14
TW201102827A (en) 2011-01-16
KR101274306B1 (ko) 2013-06-13
US20100174851A1 (en) 2010-07-08

Similar Documents

Publication Publication Date Title
CN102272745B (zh) 存储器系统控制器
CN107301134B (zh) 存储装置中的磨损均衡
CN108874303B (zh) 非易失性存储器命令冲突避免的储存系统和方法
CN102239524B (zh) 逻辑单元操作
US8949511B2 (en) Nonvolatile semiconductor storage system
CN102292711A (zh) 固态存储器格式化
US8099543B2 (en) Methods of operarting memory devices within a communication protocol standard timeout requirement
CN105653202A (zh) 一种用于逻辑存储管理的多级方案
CN102292712A (zh) 逻辑地址偏移
CN103502958A (zh) 逻辑地址转译
CN103635968A (zh) 包含存储器系统控制器的设备和相关方法
WO2014061055A1 (en) Storage sysyem which includes non-volatile semiconductor storage medium, and storage control method of storage system
CN102576332A (zh) 电力中断管理
CN102402396B (zh) 复合式储存装置及其复合式储存媒体控制器与编址方法
CN102362263A (zh) Ssd控制器与ssd控制器的操作方法
US11281399B2 (en) Dual-interface storage system and method for use therewith
US11847323B1 (en) Data storage device and method for host buffer management
US20220197532A1 (en) Data Storage Device and Method for Enabling Endurance Re-Evaluation
US20220269425A1 (en) Data Storage Device and Method for Enabling Higher Lane Utilization in Run Time Via Device Hints on Workload Patterns
CN114730287A (zh) 具有由主机选择的控制水平的基于分区的设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant