CN103635968B - 包含存储器系统控制器的设备和相关方法 - Google Patents

包含存储器系统控制器的设备和相关方法 Download PDF

Info

Publication number
CN103635968B
CN103635968B CN201280032634.4A CN201280032634A CN103635968B CN 103635968 B CN103635968 B CN 103635968B CN 201280032634 A CN201280032634 A CN 201280032634A CN 103635968 B CN103635968 B CN 103635968B
Authority
CN
China
Prior art keywords
piece
physical address
volatile memory
memory
candidate blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201280032634.4A
Other languages
English (en)
Other versions
CN103635968A (zh
Inventor
A·肯特·波特菲尔德
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 CN103635968A publication Critical patent/CN103635968A/zh
Application granted granted Critical
Publication of CN103635968B publication Critical patent/CN103635968B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • 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/1016Performance improvement
    • G06F2212/1024Latency reduction
    • 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/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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/7205Cleaning, compaction, garbage collection, erase control
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

存储器控制器可包含开关和耦合到所述开关的包含通道控制电路的非易失性存储器控制电路。所述通道控制电路可耦合到包含块的逻辑单元。易失性存储器和包含本地存储器的存储器管理电路可耦合到所述开关。所述存储器管理电路可经配置以存储所述易失性存储器中的块表中的所述块中每一者的健康和状态信息,存储基于所述本地存储器中的准则而识别用于特定操作的候选块的候选块表,更新所述块表中的特定块的所述健康和状态信息,根据所述准则比较所述特定块的所述经更新健康和状态信息与所述候选块,以及响应于所述比较指示所述特定块较好地满足了所述准则而更新所述候选块表以识别所述特定块。

Description

包含存储器系统控制器的设备和相关方法
技术领域
本发明大体来说涉及设备(例如,半导体存储器装置、系统和控制器)及其相关方法,且更具体来说,涉及(例如)存储器系统控制器。
背景技术
存储器装置通常经提供为计算机或其它电子装置中的内部电路、半导体电路、集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可需要电力以维持其信息(例如,数据),且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM),和静态随机存取存储器(SRAM)以及其它存储器。非易失性存储器可通过在未被供电时保留所存储信息而提供持续性信息,且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM),和相位改变随机存取存储器(PCRAM)以及其它存储器。
存储器装置可组合在一起以形成固态驱动器(SSD)。固态驱动器可包含非易失性存储器(例如,NAND快闪存储器和NOR快闪存储器),和/或可包含易失性存储器(例如,DRAM和SRAM),以及各种其它类型的非易失性和易失性存储器。针对广范围的电子应用,可将包含浮动栅极快闪装置和电荷捕集快闪(CTF)装置的快闪存储器装置用作非易失性存储器,电荷捕集快闪(CTF)装置使用将信息存储于氮化物层中的电荷捕集器中的半导体-氧化物-氮化物-氧化物-半导体和金属-氧化物-氮化物-氧化物-半导体电容器结构。快闪存储器装置通常使用允许高存储器密度、高可靠性和低功率消耗的单晶体管存储胞元。
SSD可用以替换作为计算系统的主要存储装置的硬盘驱动器,这是因为固态驱动器可相比于硬驱动器在性能、大小、重量、强度、操作温度范围和功率消耗方面具有优点。举例来说,当与磁盘驱动器相比时,SSD归因于其无移动部件而可具有高级性能,此情形可避免寻找与磁盘驱动器相关联的时间、时延和其它机电延迟。SSD制造商可使用非易失性快闪存储器来制造可不使用内部电池供应的快闪SSD,因此允许所述驱动器更通用且更紧密。
SSD可包含多个存储器装置,例如,多个存储器芯片(如本文所使用,“多个”某物可指这些物的一者或一者以上,例如,多个存储器装置可指一个或一个以上存储器装置)。如所属领域的技术人员将了解,存储器芯片可包含(例如)多个裸片和/或逻辑单元(LUN),其中LUN可为一个或一个以上裸片。每一裸片可包含多个存储器阵列及其上的外围电路。存储器阵列可包含组织成多个物理页面的多个存储胞元,且所述物理页面可组织成多个块。可使快闪存储胞元阵列一次性编程一页面和一次性擦除一块。SSD控制器可使用嵌入式处理器以执行存储器管理和分配。
发明内容
附图说明
图1为根据本发明的多个实施例的包含至少一个存储器系统的计算系统的功能框图。
图2为根据本发明的多个实施例的存储器系统的功能框图。
图3A为根据本发明的多个实施例的在主机总线适配器(HBA)与顺应串行附件(SA)编程装置之间的输送层接口的功能框图。
图3B为根据本发明的多个实施例的HBA与顺应SA编程装置的功能框图。
图4说明根据本发明的多个实施例的块管理装置的功能框图。
具体实施方式
本发明包含存储器系统控制器。存储器系统控制器可包含开关和耦合到所述开关的包含通道控制电路的非易失性存储器控制电路。通道控制电路可耦合到包含块的逻辑单元。易失性存储器和包含本地存储器的存储器管理电路可耦合到开关。存储器管理电路可经配置以存储易失性存储器中的块表中的块中每一者的健康和状态信息,存储基于本地存储器中的准则而识别用于特定操作的候选块的候选块表,更新块表中的特定块的健康和状态信息,根据所述准则比较所述特定块的经更新健康和状态信息与候选块,以及响应于所述比较指示所述特定块较好地满足所述准则而更新候选块表以识别所述特定块。
在本发明的以下[具体实施方式]中,参考形成本发明的一部分的随附图式,且其中通过说明来展示可实践本发明的多个实施例的方式。充分详细地描述了这些实施例以使得所属领域的技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可在不脱离本发明的范围的情况下做出过程、电和/或结构改变。如本文所使用,指示符“N”(特定地关于图式中的参考数字)指示如此指定的多个特定特征可包含于本发明的多个实施例中。
本文的诸图遵循编号惯例,其中第一数字对应于图号且剩余数字识别图式中的元件或组件。可通过使用相同数字来识别不同图之间的相同元件或组件。举例来说,108可参考图1中的元件“08”,且相同元件可在图2中被参考为208。如将了解,可添加、交换和/或消除本文的各种实施例中所展示的元件以便提供本发明的多个额外实施例。另外,如将了解,诸图中所提供的元件的比例和相对尺度希望说明本发明的实施例,且不应以限制性意义来理解。
图1为根据本发明的多个实施例的包含至少一个存储器系统104的计算系统100的功能框图。在图1中所说明的实施例中,存储器系统104(例如,固态驱动器(SSD))可包含物理主机接口106、存储器系统控制器108(例如,SSD控制器)和多个固态存储器装置110-1、...、110-N。固态存储器装置110-1、...、110-N可提供用于存储器系统的存储容量。在多个实施例中,固态存储器系统控制器108可为专用集成电路(ASIC),其中控制器108(例如,呈ASIC的形式)耦合到包含物理接口106和固态存储器装置110-1、...、110-N的印刷电路板。
如图1中所说明,存储器系统控制器108(例如,固态存储器系统控制器)可耦合到物理主机接口106和耦合到固态存储器装置110-1、...、110-N。物理主机接口106可用以在存储器系统104与例如主机102的另一装置之间传达信息。主机102可包含存储器存取装置,例如,处理器。所属领域的技术人员将了解,“处理器”可意指多个处理器,例如,并行处理系统、多个共处理器,等等。实例主机包含膝上型计算机、个人计算机、数字相机、数字记录和播放装置、移动电话、PDA、存储卡读取器、接口集线器,及其类似者。对于多个实施例,物理主机接口106可呈标准化物理接口的形式。举例来说,当存储器系统104用于计算系统100中的信息存储时,物理主机接口106可为串行高级技术附件(SATA)物理接口、外围组件快速互连(peripheral component interconnect express,PCIe)物理接口、小计算机系统接口(SCSI)接口、串行附件SCSI(SAS)接口,或通用串行总线(USB)物理接口,以及其它接口。然而,大体来说,物理主机接口106可提供用于在存储器系统104与具有用于物理主机接口106的兼容接收器的主机102之间传递控制、地址、信息(例如,数据)和其它信号的接口。
固态存储器系统控制器108可与固态存储器装置110-1、...、110-N通信以读取、写入和擦除信息,以及进行其它操作。固态存储器系统控制器108可具有可为多个集成电路和/或离散组件的固件和/或电路。对于多个实施例,固态存储器系统控制器108中的电路可包含用于控制跨越固态存储器装置110-1、...、110-N的存取的控制电路,以及用于在主机102与存储器系统104之间提供转译层的电路。因此,存储器控制器可选择性地耦合固态存储器装置110-1、...、110-N的I/O连接(图1中未展示)以在适当时间接收在适当I/O连接处的适当信号。类似地,主机102与存储器系统104之间的通信协议可不同于存取固态存储器装置110-1、...、110-N所需的通信协议。固态存储器系统控制器108可接着将从主机102接收的命令转译成适当命令以实现对固态存储器装置110-1、...、110-N的所要存取。
固态存储器装置110-1、...、110-N可包含多个存储胞元阵列,例如,非易失性存储胞元。举例来说,所述阵列可为具有NAND架构的快闪阵列。在NAND架构中,一“行”存储胞元的控制栅极可与存取(例如,字)线耦合,而存储胞元可在选择栅极源极晶体管与选择栅极漏极晶体管之间的“串”中源极到漏极串联耦合。所述串可通过选择栅极漏极晶体管而连接到数据(例如,位)线。术语“行”和“串”的使用暗示存储胞元既不是线性布置也不是正交布置。如所属领域的技术人员将了解,存储胞元到位线和源极线的连接方式视阵列为NAND架构、NOR架构抑或某其它存储器阵列架构而定。
固态存储器装置110-1、...、110-N可包含可分组的多个存储胞元。如本文所使用,群组可包含多个存储胞元,例如,页面、块、平面、裸片、整个阵列,或存储胞元的其它群组。举例来说,一些存储器阵列可包含构成存储胞元的块的存储胞元的多个页面。多个块可包含于存储胞元的平面中。存储胞元的多个平面可包含于一个裸片中。作为实例,128GB存储器装置可包含每页面4320字节信息、每块128页面、每平面2048个块,和每装置16个平面。
存储器系统104可实施耗损均衡(wear leveling)(例如,垃圾收集和/或回收),以控制固态存储器装置110-1、...、110-N的耗损率。固态存储器阵列可在多个程序和/或擦除循环之后经历错误(例如,故障)。耗损均衡可通过在整个阵列上将对特定群组所执行的程序和/或擦除循环更均匀地展开而减少所述循环的数目。耗损均衡可包含用以最小化移动的有效块的量以回收块的动态耗损均衡。动态耗损均衡可包含称为垃圾收集的技术。垃圾收集可包含(例如)根据“贪婪算法(greedy algorithm)”回收具有最无效页面的块(例如,擦除具有最无效页面的块且使得具有最无效页面的块可用于写入)。或者,垃圾收集可包含回收具有多于阈值量的无效页面的块。如果存在用于写入操作的充足的自由块,那么可不发生垃圾收集操作。无效页面(例如)可为已更新到不同页面的信息的页面。静态耗损均衡包含将静态信息写入到具有高擦除计数以延长块的寿命的块。
写入放大为可在将信息写入到固态存储器装置110-1、...、110-N时发生的过程。当将信息随机写入于存储器阵列中时,固态存储器系统控制器108扫描所述阵列中的可用空间。存储器阵列中的可用空间可为个别胞元、页面,和/或并未正存储信息和/或已经擦除的存储胞元的块。如果存在将信息写入于选定位置中的足够可用空间,那么将信息写入到存储器阵列的选定位置。如果在选定位置中不存在足够可用空间,那么通过读取、复制、移动已存在于选定位置中的信息到新位置或以其它方式重写和擦除所述信息来重新布置存储器阵列中的信息,从而为待写入于选定位置中的新信息留下可用空间。存储器阵列中的旧信息的重新布置被称为写入放大,这是因为通过存储器装置执行的写入的量被放大超过在选定位置中存在充足可用空间时将发生的写入的量。
图1中所说明的计算系统100可包含超过所说明范围的额外电路。已减少图1中所说明的计算系统100的细节,以便不使本发明的实施例混淆。举例来说,存储器系统104可包含用以锁存经由经由I/O电路的I/O连接而提供的地址信号的地址电路。地址信号可由行解码器和列解码器接收和解码以存取固态存储器装置110-1、...、110-N。所属领域的技术人员将了解,地址输入连接的数目可视固态存储器装置110-1、...、110-N的密度和架构而定。
图2为根据本发明的多个实施例的存储器系统204的功能框图。存储器系统204可包含固态存储器系统控制器208。固态存储器系统控制器208可耦合到多个固态存储器装置,例如,图1中所说明的固态存储器装置110-1、...、110-N。在图2中所展示的实例中,所述多个存储器装置包含包含多个逻辑单元(LUN)250的非易失性存储器,且控制器208包含易失性存储器212。LUN250可为可独立地可控制的非易失性存储器的一部分。存储器系统204和固态存储器系统控制器208可分别类似于图1中所说明的存储器系统104和固态存储器系统控制器108。
固态存储器系统控制器208可包含主机接口(I/F)电路214,主机接口(I/F)电路214用于经由物理主机接口206而与主机(例如,图1中所说明的主机102)介接。固态存储器系统控制器208可包含主机-存储器转译电路216、存储器管理电路218、开关220、非易失性存储器控制电路222,和/或易失性存储器控制电路224。如本文所描述,固态存储器系统控制器208可以ASIC的形式提供,然而,实施例不限于此。
主机I/F电路214可耦合到主机-存储器转译电路216。主机I/F电路214可耦合到和/或并有到主机的物理接口(例如,物理接口206)。主机I/F电路214可与主机(例如,图1中的主机102)介接。主机I/F电路214可包含提供物理层、链路层和输送或事务层接口的外围组件快速互连(PCIe)电路230,例如,其中主机经配置以根据PCIe标准来发射信息。根据串行高级技术附件(SATA)标准和/或串行附件SCSI(SAS)标准的输送层可类似于根据PCIe标准的事务层。PCIe电路230可耦合到主机总线适配器(HBA)234,例如,高级主机控制器接口(AHCI)兼容HBA。HBA234可耦合到顺应SA装置236,顺应SA装置236可耦合到主机-存储器转译电路216。
大体来说,主机I/F电路214负责将从主机(例如,从PCIe总线)所接收的命令包转换成用于主机-存储器转译电路216的命令指令,且负责将主机-存储器转译响应转换成主机命令以供发射到请求主机。举例来说,主机I/F电路214可从基于PCIe的事务层包建构SA命令包。下文关于图3A-3B更详细地描述HBA234和顺应SA装置236。
主机-存储器转译电路216可耦合到主机I/F电路214、存储器管理电路218,和/或开关220。主机-存储器转译电路216可经配置以将主机地址转译成存储器地址,例如,与所接收命令(例如,读取和/或写入命令)相关联的地址。举例来说,可通过SATA到存储器电路238来执行此转译。尽管被识别为“SATA到存储器”电路238,但所述电路可经配置以用于例如SAS的其它串行附件,如本文所描述。主机-存储器转译电路216可(例如)将主机区段读取和写入操作转换成针对特定LUN250的命令。主机-存储器转译电路216可包含错误检测/校正电路,例如,RAID异或(XOR)电路226。RAID XOR电路226可基于从主机I/F电路214接收的信息计算奇偶信息。
存储器管理电路218可耦合到主机-存储器转译电路216和耦合到开关220。存储器管理电路218可控制多个存储器操作,包含(但不限于)初始化、耗损均衡(例如,垃圾收集和/或回收),和/或错误检测/校正。虽然存储器管理电路218可包含处理器228,但本发明的多个实施例提供在不依赖于通过处理器228进行指令(例如,软件和/或固件)的执行的情况下进行电路(例如,硬件)中的存储器操作的控制。相对于更重地依赖于处理器来控制存储器操作的一些先前方法,这些实施例可提供较快速存储器操作。存储器管理电路218可包含块管理电路240,其关于图4更详细地予以描述。
开关220可耦合到主机-存储器转译电路216、存储器管理电路218、非易失性控制电路222,和/或易失性存储器控制电路224。开关220为纵横制开关,且可包含和/或耦合到多个缓冲器。举例来说,开关220可包含内部静态随机存取存储器(SRAM)缓冲器(ISB)225。开关可耦合到包含于易失性存储器212中的多个动态随机存取存储器(DRAM)缓冲器227。开关可包含缓冲器分配管理(BAM)电路221,缓冲器分配管理(BAM)电路221可包含缓冲器标签集区223。开关220可将接口提供于固态存储器系统控制器208的各种组件之间。开关220可考量可与固态存储器系统控制器208的不同组件相关联的经界定发信协议的变化,以便提供组件之间的一致性存取和实施。在多个实施例中,开关220可为直接存储器存取(DMA)模块。
BAM电路221中的缓冲器标签集区223中的多个标签可各自识别多个DRAM缓冲器227或多个ISB225中的相应一者。当特定标签指向DRAM缓冲器227时,可将可编程“BAR”地址附加到所述缓冲器标签以填满易失性存储器212的地址。BAM电路221可经配置以响应于来自多个硬件主控器中的一者的分配请求而将标签分配给所述多个硬件主控器中的所述一者。硬件主控器可包含可存取存储器的那些硬件组件。
BAM电路221可经配置以相比于识别多个DRAM缓冲器227中的一者的标签而优先考虑识别多个ISB225中的一者的标签的分配。ISB225相比于DRAM缓冲器227可为较快且功率较低的,且因此可更优选。因此,BAM电路221可经配置以优先考虑标签的分配,以使得仅在已分配识别ISB225的所有标签之后才分配识别多个DRAM缓冲器227中的一者的标签。在多个实施例中,固态存储器系统控制器208可包含768个DRAM缓冲器227和256个ISB225,达总共1024个缓冲器。在这些实施例中,缓冲器标签可为识别1024个缓冲器中的一者的10位标签。缓冲器标签对硬件主控器可不具有特定意义,但在命令(例如,读取和/或写入命令)的处理期间由硬件主控器传递,以允许参考正确缓冲器。所述多个硬件主控器可经配置以一般性地请求标签的分配,而不请求对多个ISB225中的一者或多个DRAM缓冲器227中的一者为特定的标签的分配。在多个实施例中,DRAM缓冲器227和ISB225中的每一者的大小可等于最大所支持的存储器页面的大小(例如,4KB)。
BAM电路221可经配置以从缓冲器集区223移除与不起作用缓冲器相关联的标签。处理器228可经配置以存取BAM电路221且从缓冲器集区223移除与不起作用缓冲器相关联的标签。这些实施例可帮助固态存储器系统控制器208适当地起作用,即使一个或一个以上ISB225出故障也如此。在一些实施例中,可使用移除(例如,“标出”)“坏的”缓冲器的能力来代替在制造期间测试ISB225。开关220可被“超量供应”有ISB225,以使得损失多个ISB225不会显著影响固态存储器系统控制器208的操作。
所述多个硬件主控器可经配置以结合读取命令或写入命令而向BAM电路221请求标签的分配,且结合读取命令或写入命令的完成而向BAM电路221请求经分配标签的解除分配。硬件主控器针对多个命令不使用相同标签,且因此针对每一命令请求新标签。硬件主控器可经配置以相比于分配请求而优先考虑解除分配请求,(例如)以帮助确保充足缓冲器(特定地ISB225)可供来自多个硬件主控器的多个命令使用。
缓冲器标签的使用可促进读取操作。硬件主控器可经配置以将读取命令连同经分配标签发送到非易失性存储器控制电路222。非易失性存储器控制电路222可经配置以将对应于读取命令的信息存储于通过经分配标签而识别的缓冲器中,且通知发送读取命令的特定硬件主控器所述信息已就绪。
缓冲器标签的使用可促进写入操作。硬件主控器可经配置以将写入命令连同经分配标签发送到非易失性存储器控制电路222,且将对应于所述写入命令的信息存储于通过经分配标签识别的缓冲器中。非易失性存储器控制电路222可经配置以从通过经分配标签而识别的缓冲器检索信息,将所述信息写入到非易失性存储器(例如,写入到适当LUN250),且通知发送写入命令的硬件主控器所述信息已经写入。
存储器管理电路218中的处理器228可为硬件主控器。处理器228可经配置以启用在非易失性存储器控制电路222与易失性存储器控制电路224之间的直接存储器存取(DMA)操作,而在不考虑多个标签的情况下存取整个易失性存储器212空间。其它硬件主控器可能不启用DMA特征,且因此,依赖于标签以用于存取缓冲器而非直接存取存储器空间。处理器228可经由结合经由命令管线而发送的命令而使用的字段中的信息来启用DMA操作而忽视使缓冲器存取存储器空间的需要。举例来说,信息“DMA_EnBARSEL”可包含于供命令使用的字段中,其中“DMA_En”向接收器指示DMA操作已经启用,且其中“BARSEL”指示应包含针对DRAM的地址来代替缓冲器标签,如本文所描述。因此,处理器228可使用与针对其它硬件主控器的基于缓冲器的存取相同的逻辑而在易失性存储器212与LUN250之间移动信息。可在存取LUN250时通过通道控制电路248将“DMA_En”传回到开关220。从通道控制电路248的观点,DMA存取几乎相同于基于缓冲器的存取。如果确证“DMA_En”,那么开关220可将请求强加到易失性存储器212。“BARSEL”由开关220使用以在其指向DRAM缓冲器227时调换类似于附加到缓冲器标签的“BAR”地址的唯一“BAR”。举例来说,“BAR”地址可为指向四个位置中的一者的双位地址,然而,实施例不限于此。“BAR”地址的使用可允许不同的同时DMA。
非易失性存储器控制电路222可耦合到开关220。非易失性存储器控制电路222可耦合到非易失性存储器装置。图2展示包含多个LUN250的非易失性存储器装置。所述多个LUN250可通过多个通道而耦合到非易失性存储器控制电路222。在一些实施例中,所述多个通道可由非易失性存储器控制电路222共同地控制。在多个实施例中,每一存储器通道耦合到离散通道控制电路248,如图2中所说明。特定通道控制电路248可通过单个通道而控制和耦合到一个以上LUN250。在多个实施例中,通道控制电路248可通过顺应开放NAND快闪接口(ONFI)总线而耦合到多个LUN250。
非易失性存储器控制电路222包含命令管线的至少一部分,命令驻留于所述命令管线中同时等待通过通道控制电路248来执行。起始对LUN250的请求的所有硬件主控器可经由开关220共享同一命令管线。对于来自主机的读取命令(主机读取),不存在对哪一LUN250被存取的控制,这是因为主机需要存储于一个或一个以上LUN250中的特定信息。同样地,不存在对主机业务的容量的控制。本文所描述的命令管线可提供在隐藏LUN250之间的程序时间、读取时间和擦除时间冲突方面的灵活性。举例来说,擦除时间可比程序时间或读取时间长。每一通道控制电路248可通过多个通道而耦合到多个LUN250。因此,当擦除命令正由特定通道控制电路248针对特定LUN执行时,特定通道控制电路248可在同一通道上针对不同LUN250执行另一命令。
非易失性存储器控制电路222可包含耦合到通道控制电路248中每一者的通道请求队列(CRQ)242。每一通道控制电路248可包含耦合到多个LUN命令队列(LCQ)246的LUN请求队列(LRQ)244。LRQ244可为数目为L深队列电路,其中L等于每通道控制电路248中LUN250的数目。CRQ242可为数目为C深队列电路,其中C等于(例如)x倍(多个通道控制电路248),其中x为整数(例如,4)。举例来说,非易失性存储器控制电路222可包含32个通道,其中每通道有16个LUN,一个128深CRQ242经配置以存储多达128个条目用于在通道之间共享的命令存储,每通道一个16深LRQ244经配置以存储特定通道上的LUN250之间的多达16个命令,且每通道有一个2深LCQ246,其中LCQ246为先进先出(FIFO)电路。举例来说,2深FIFO可经配置以使当前命令和待在当前命令之后执行的接下来的命令排成队列。这些实施例提供(512个LUN×2深LCQ)达1024个条目,加上(每通道一个16深LRQ×32个通道)达512个条目,加上(一个128深CRQ)而达总共(1024+512+128)=1664个命令存储条目。如本文所描述,此命令管线结构可以一部分大小而提供与524,288个命令存储条目(每通道32个LUN×16个通道×每LUN1024深FIFO=524,288)相同的性能。
CRQ242可经配置以从开关220接收命令,且将所述命令中继到LRQ244中的一者,例如,与所述命令标靶的特定LUN250所关联的通道相关联的LRQ244。LRQ244可经配置而按用于特定LUN250的第一多个命令由LRQ244接收的次序而将所述第一多个命令中继到与特定LUN250相关联的LCQ246。命令管线经结构化而使得到同一LUN250的命令按次序(例如,按其由LRQ244接收的次序)移动。LRQ244可经配置以响应于与特定LUN250相关联的LCQ246充满而使针对所述特定LUN250的命令排成队列,且CRQ242可经配置以响应于特定LRQ244充满而使针对所述特定LRQ244的命令排成队列。
LRQ244可经配置以根据不同LUN250的状态按次序将用于不同LUN250的第二多个命令中继到与所述不同LUN250相关联的LCQ246。举例来说,不同LUN250的状态可为就绪/忙碌状态。命令管线经结构化而使得不同LUN250之间的命令可不按次序移动,例如,根据为了当时使总存储器操作有效而按不同于所述命令由LRQ244接收的次序的次序。举例来说,LRQ244可经配置以响应于与第二LCQ246相关联的不同LUN250的状态是忙碌的而在将第二多个命令的第二命令中继到第二LCQ246之前将第二多个命令的第一命令中继到第一LCQ246,其中第二多个命令的所述第一命令在时间上比第二多个命令的所述第二命令接收地晚。LRQ244可经配置以响应于与第二LCQ246相关联的LUN250的状态是就绪的而(例如)在中继第二多个命令的第一命令之后将第二多个命令的第二命令中继到第二LCQ246。
包含用于每一通道的离散非易失性存储器通道控制电路的多个实施例可包含耦合到每一通道控制电路248的离散错误检测/校正电路232,(例如错误校正码(ECC)电路),和/或可供一个以上通道使用的多个错误检测/校正电路232。错误检测/校正电路232可经配置以应用错误校正(例如,BCH错误校正)(如由所属领域的技术人员将理解),以检测和/或校正与存储于LUN250中的信息相关联的错误。举例来说,错误检测/校正电路可提供在1080位码字内的错误校正的29个位。错误检测/校正电路232可经配置以提供不同错误校正方案用于单电平胞元和/或多电平胞元(SLC/MLC)操作。
易失性存储器控制电路224可耦合到开关220和易失性存储器212(例如,多个易失性存储器装置)。在其它信息当中,所述多个易失性存储器装置可存储LBA表和/或块表,如关于图4更详细地描述。
图3A为根据本发明的多个实施例的在主机总线适配器(HBA)334与顺应串行附件(SA)编程装置336之间的输送层接口的功能框图。HBA334可类似于图2中所说明的HBA234。顺应SA编程装置336可类似于图2中所说明的顺应SA编程装置236。在多个实施例中,顺应SA编程装置336可为顺应串行高级技术(SATA)编程装置。在多个实施例中,顺应SA编程装置336可为顺应串行附件SCSI(SAS)编程装置。
在概念上使用多个层来界定SA协议。针对SATA,按从低到高的次序,这些层包含物理层、链路层、输送层和命令层。针对SAS,按从低到高的次序,这些层包含物理层、PHY层、链路层、端口层、输送层和应用层。可在输送层上通过将命令分解成帧信息结构(FIS)来传达命令层和/或应用层信息。根据一些先前方法,使用基元在链路层上传达FIS。使用码字在物理层上传达基元,使用8b10b编码在SATA或SAS缆线上发射码字。SATA或SAS缆线上的通信是由从主机的观点被参考为发射(Tx)和接收(Rx)的电线的两个差分对组成。这些电线可发射命令或信息,且经仲裁以用于控制。此方案的一个限制为,一旦在缆线上仲裁通信,其即为所发生的唯一通信。即,SATA或SAS仅能够在给定时间发射单个FIS。
如果HBA334与顺应SA编程装置336的接口完全在控制器内(例如,如在图2中所说明的固态存储器系统控制器208的状况下),那么信息流免于缆线连接的SA物理层的约束。本发明的多个实施例放弃物理层和链路层的使用,而保留由命令层352和输送层354支持的FIS和命令的使用。可通过将物理通信界定为四组输入/输出(例如,命令(Cmd)、响应(Rsp)、写入数据(WrData)和读取数据(RdData))而实现并行性。因此,通过使用功能特定互连,在命令、响应与信息递送之间不再存在冲突。其可同时经管线作业和操作。即,功能特定互连可经配置以在HBA334与顺应SA编程装置336之间同时传送命令、响应和信息。功能特定互连可包含:HBA334上的Cmd输出耦合到顺应SA编程装置336上的Cmd输入、顺应SA编程装置336上的Rsp输出耦合到HBA334上的Rsp输入、HBA334上的WrData输出耦合到顺应SA编程装置336上的WrData输入,和顺应SA编程装置336上的RdData输出耦合到HBA334上的RdData输入。在多个实施例中,Cmd、Rsp、WrData和RdData输入/输出对中每一者可为单向的,且既不使用8b10b编码也不使用基元。
功能特定互连可经配置以响应于第一命令协议(例如,本机命令队列(native commandqueuing;NCQ)和/或带标命令队列(tagged command queuing;TCQ)以及其它命令协议)而同时操作命令接口(HBA334上的Cmd输出和顺应SA编程装置336上的Cmd输入)、响应接口(HBA334上的Rsp输入和顺应SA编程装置336上的Rsp输出),和信息接口(HBA334上的WrData输出和顺应SA编程装置336上的WrData输入,和/或HBA334上的RdData输入和顺应SA编程装置336上的RdData输出)。功能特定互连可经配置以响应于第二命令协议(例如,NonData、经编程输入/输出(PIO),和/或直接存储器存取(DMA)以及其它协议)而原子式地操作命令接口、响应接口和信息接口。
命令接口可用以将主机-装置(HD)FIS从HBA334递送到顺应SA编程装置336。HBA334上的WrData输出可用以将信息递送到顺应SA编程装置336上的WrData输入。顺应SA编程装置336上的RdData输出可用以将信息递送到HBA334上的RdData输入。响应接口可用以(例如)使用PIOSetup、DMAActivate、DMASetup等等来限定信息递送,且传达完成(例如,装置-主机(DH)和/或设置装置位(SDB)等等)。限定信息递送可包含界定递送信息的次序。缓存的使用可允许在对应响应FIS之前开始信息的移动。
图3B为根据本发明的多个实施例的HBA334与顺应SA编程装置336的功能框图。图3B的HBA334可类似于图3A中的HBA334,但展示更多细节。图3B的顺应SA编程装置336可类似于图3A中的顺应SA编程装置336,但展示更多细节。
HBA334可包含命令收件器(fetcher)356,命令收件器356将Cmd输出提供给顺应SA编程装置336。HBA334可包含响应接收器358,响应接收器358从顺应SA编程装置336接收Rsp输入。HBA334可包含下游DMA装置360,下游DMA装置360将WrData输出提供给顺应SA编程装置336。HBA334可包含上游DMA装置362,上游DMA装置362从顺应SA编程装置336接收RdData输入。Cmd收件器356、Rsp接收器358、下游DMA360和上游DMA362中每一者可为可独立于彼此而操作的硬件组件,但在多个实施例中可使操作与HBA FSM372(例如,高级主机控制器接口(AHCI)状态机)同步而使得可坚持AHCI协议。
下游DMA装置360和Cmd收件器356可耦合到总线接口(I/F)364以用于下游写入和/或上游读取。总线I/F364可经配置以从Cmd收件器356接收请求,将所述请求传递到PCIe I/F(例如,具有图2中所说明的PCIe电路230的接口),且在适当时将回复传回到Cmd收件器356。总线I/F364还可经配置以从PCIe I/F接收信息,且将请求(例如,写入信息提取)发送到其。下游DMA装置360可经配置以在存在适当缓存以接收写入信息时经由总线I/F364用管线作业多个PCIe读取请求。经由总线I/F364而发送到PCIe I/F的每一请求可造成将信息从PCIe I/F引导到相应写入缓冲器的旋转缓冲器标签的指派。可接着以旋转方式从写入缓冲器移除信息而使其待发送到顺应SA编程装置336。Rsp接收器358和上游DMA装置362可耦合到总线I/F366以用于下游读取和/或上游写入。总线I/F366可经配置以经由PCIe I/F发射信息和/或请求。
HBA334架构可将单个AHCI端口呈现给主机装置驱动程序软件,但可扩展所述端口内的命令槽的数目(例如,扩展到256个)。专属主机装置驱动器可通过控制寄存器370(例如,八个32位命令发布寄存器)来存取槽。控制寄存器370可经由控制接口368连接到PCIe I/F以用于写入控制信息的输入和读取控制信息的输出。在多个实施例中,Cmd收件器356可检索命令且按命令被发布的次序将命令转递到顺应SA编程装置336。可在控制寄存器370内同时接收多个命令(例如,32个命令),且使其排成队列用于Cmd收件器356。
所述多个命令槽可分组成命令槽群组,且具有指派到其的消息发信中断(MSI)(例如,MSI-X)向量。这些实施例相对于包含针对多个端口的命令的32b AHCI寄存器的一些先前方法可为有益的。本发明的多个实施例包含具有针对命令的256b寄存器的一个端口,其可使得具有MSI向量的命令分组有利,以便改进可在主机(例如,图1中所说明的主机102)中优化中断性能的可能性。
HBA334可使用上下文阵列以用于待以交错方式返回的NCQ读取。特定读取命令内的信息按次序进行处理,然而,多个未处理(outstanding)读取命令的部分可彼此交错。当通过顺应SA编程装置336起始读取上下文时,HBA334可从上下文阵列检索读取命令的当前状态的记录且从其上一次中断的点继续。当完成读取上下文时,HBA334可将更新的命令进度值存储于上下文阵列中。可存在针对每一可能的未处理读取命令(例如,256个未处理读取命令)的上下文阵列位置。类似上下文阵列可用于写入。
顺应SA编程装置336可包含命令有限状态机(FSM)374,命令有限状态机(FSM)374从HBA334(例如,HBA334的命令收件器356)接收Cmd输入。顺应SA编程装置336可包含装置-主机仲裁器(DH ARB)376,装置-主机仲裁器(DH ARB)376将Rsp输出提供到HBA334(例如,HBA334的响应接收器358)。顺应SA编程装置336可包含写入FSM378,写入FSM378从HBA334(例如,HBA334的下游DMA360)接收WrData输入。顺应SA编程装置336可包含读取FSM380,读取FSM380将RdData输出提供到HBA334(例如,HBA334的上游DMA362)。Wr FSM378可将输出提供到存储器,且Rd FSM380可(例如)经由图2中所说明的主机-存储器转译电路216提供来自存储器的输入。
DH ARB376可具有来自Cmd FSM374的输入(例如)以用于DH、SDB等等的通信。DH ARB376可包含来自Wr FSM378的输入(例如)以用于写入DMASetup。DH ARB376可包含来自Rd FSM380的输入(例如)以用于读取DMASetup。DH ARB376可经配置以基于来自Cmd FSM374、Wr FSM378和Rd FSM380的输入而限定信息递送的次序且将完成传达到HBA334。Wr FSM378可包含写入缓冲器,写入缓冲器经配置以在DH ARB376限定写入信息递送的次序之前对写入信息进行缓存。Rd FSM380可包含读取缓冲器,读取缓冲器经配置以在DH ARB376限定读取信息递送的次序之前对读取信息进行缓存。
在多个实施例中,Cmd FSM374可经配置以通过默认同时操作。Cmd FSM374可经配置以响应于单个上下文命令协议(例如,PIO或DMA)的检测而(例如)在“CurrencyDisabled”模式中原子式地操作。当Cmd FSM374原子式地操作时,Cmd FSM374可经配置以确证两个“PassControl”信号(一者到Wr FSM378和一者到Rd FSM380)中的一者。随后,Cmd FSM374可进入“WaitForCtl”状态直到接收复位命令或确证来自Wr FSM378或Rd FSM380的“RetrunControl”信号为止。如果经检测协议为NonData,那么PassControl信号两者皆不被确证。Cmd FSM374可服务命令自身且在完成之后即恢复成闲置。如果逻辑指示命令标签准备好淘汰,那么Cmd FSM可产生适当SDB FIS且恢复成闲置。
在多个实施例中,Wr FSM378和Rd FSM380可经配置以通过默认同时操作。WrFSM378和Rd FSM380可经配置以在从Cmd FSM374接收PassControl信号和/或检测单个上下文命令协议(例如,PIO或DMA)时原子式地操作。Wr FSM378和/或Rd FSM380可遵循SA协议(例如,SATA协议或SAS协议)而原子式地操作,直到完成命令计数或满足错误条件为止,在此状况下,相应FSM可确证其的RtnCtl信号,此可将Cmd FSM374从其的WaitForCtl状态释放。相反地,同时操作允许每一FSM独立移动信息。
图4说明根据本发明的多个实施例的块管理装置440的功能框图。块管理装置440可类似于图2中所说明的块管理装置240且可包含于存储器管理电路中。块管理装置440可与易失性存储器412(例如,DRAM)通信,易失性存储器412可类似于图2中所说明的易失性存储器212。因此,举例来说,块管理装置440可经由开关和易失性存储器控制电路与易失性存储器412通信。易失性存储器412可存储逻辑块地址(LBA)表482、块表484,和/或事务日志486以及其它信息。
LBA表482可存储LUN(例如,图2中所说明的LUN250)中的页面的物理页面地址,且包含对应逻辑地址。即,LBA表482可存储逻辑到物理地址转译和/或物理到逻辑地址转译。因此,LBA表482可用以查找对应于可存储对应信息的逻辑块地址的物理页面地址。LBA表482可通过包含于相关联SA命令中的LBA加索引。块表484可存储多个LUN中的可擦除块的信息。存储于块表484中的信息可包含有效页面信息、擦除计数,和其它健康和/或状态信息。从块表484所存取的信息可通过物理块地址而加索引。事务日志486可用以记录关于在LUN中发生的写入的信息。在多个实施例中,事务日志486可与对LUN的写入同时更新。事务日志486可包含关于从上一次LBA表482存储于非易失性存储器中以来已发生的对LUN的写入的信息,(例如)以便促进归因于对非易失性存储器的LBA表482进行更新之间的突然电力损失或其它错误而可能丢失的LBA表482的部分的重新创建。
块管理装置440内所描绘的物件中的一些指示由所述块管理装置440提供的功能性。LBA表查找功能490可参考易失性存储器412中的LBA表482以执行逻辑到物理地址转译。LBA表查找功能490可在与逻辑地址相关联的信息被更新时用对应于所述逻辑地址的新物理地址来更新LBA表482。块表查找功能491可参考易失性存储器412中的块表484,(例如)以确定用于例如回收和/或垃圾收集等耗损均衡的候选者。回收可涉及在块被擦除之前将来自待擦除的块的所有有效页面移动到新位置。块回收功能493可参考易失性存储器412中的事务日志486。
存储于存储器管理电路(例如,块管理装置440)的本地存储器中的块阵列492可追踪回收页面候选者494、擦除块候选者495、回收写入块候选者496,和/或主机写入块候选者497(例如,如通过LBA表查找功能490和/或块表查找功能491参考块阵列492)。可使用专用硬件针对系统中的每一LUN选择这些候选者以在以易失性存储器速度读取每一块或将每一块写入到易失性存储器412(例如,DRAM)时分析每一块的健康和/或状态信息。每一LUN的当前候选者可存储于块阵列492中。每当存取块表484时,管线结构可从块阵列492检索当前最佳候选者且比较其与新块表484存取。如果新块表484存取(例如,因写入、擦除或错误事件所致)显现比存储于块阵列492中的当前候选者好的候选者,那么所述新块可替换块阵列492中的彼候选者。可在暂停(stall)对易失性存储器412的存取的情况下发生候选者选择,此允许使用管线结构在易失性存储器412速度下进行过程。
块管理装置440可经配置以存储易失性存储器412中的块表484中的多个块中每一者的健康和状态信息。块管理装置440可经配置以将候选块表(例如,包含回收页面候选者494、擦除块候选者495、回收写入块候选者496和/或主机写入块候选者497的块阵列492)存储于本地存储器中。候选块表可基于针对特定操作(例如,主机写入、回收读取、回收写入和/或擦除)的多个准则而识别用于所述特定操作的候选块。块管理装置440可经配置以(例如)响应于针对块表484中的特定块的写入、擦除或错误事件而更新所述特定块的健康和状态信息。块管理装置440可经配置以根据所述多个准则比较所述特定块的经更新健康和状态信息与候选块。块管理装置440可经配置以至少部分响应于所述比较指示特定块较好地满足多个准则而(例如)在同一时脉循环(在其期间,在易失性存储器412中更新所述特定块的健康和状态信息)上更新候选块表以识别所述特定块。
可用不依赖因(例如)写入、擦除或错误事件所致的新块表484存取的查表(tablewalking)过程补充上文所描述的候选选择过程。查表过程可恢复未本地存储于块管理装置440中的块阵列492中的块信息的历程记录。查表可由于写入、擦除或错误事件而相对于块表484存取为较慢背景过程。一旦已查核整个块表484,那么可停止查表过程(例如)以减少易失性存储器412功率消耗。在一些情况下,新块表484存取可重新起始查表过程。因此,块管理装置440可经配置以根据多个准则独立于针对易失性存储器412中的块表484中的多个块中任一者的写入、擦除或错误事件而比较所述多个块中每一者的经更新健康和状态信息与候选块。可在已比较多个块中每一者之后停止块的比较。
在本发明的多个实施例中,在回收过程期间根据一致性点的使用不暂停主机操作以更新LBA表482。在回收过程期间,从第一位置读取回收页面候选者(例如,来自回收页面候选者494)且将其写入到第二位置。在此读取和写入期间,主机可已将新信息写入到当前正经处理以用于回收的LBA,且用新物理地址更新LBA表482。当回收已完成页面读取和写入时,可仅在针对在回收期间的LBA的LBA表482条目具有与从第一位置读取的信息相同的物理地址时(例如,在主机尚未更新LBA表482中的条目时)用新物理地址来更新LBA表482。对应于回收读取的页面可被标记为在块表484中无效的(例如,存储过时信息)。如果物理地址不同于对应于回收读取的地址,那么其指示主机已进行更新,且将不用每回收写入的新物理地址来更新LBA表。可使块表484中的回收写入无效以指示对应于回收写入的物理位置存储无效信息。
存储器管理电路(例如,块管理装置440)可经配置以在对特定块的回收操作期间从所述特定块读取信息之前从块表484检索对应于所述特定块的逻辑地址的第一物理地址。块管理装置440可经配置以在回收操作期间在将信息写入到不同块之后从LBA表482检索对应于逻辑地址的第二物理地址。块管理装置440可经配置以至少部分响应于第二物理地址等于第一物理地址而用对应于不同块的第三物理地址来更新LBA表482。块管理装置440可经配置以至少部分响应于第二物理地址不同于第一物理地址而使回收操作无效。
块管理装置440可耦合于主机命令队列498与存储器命令队列499之间。主机命令队列498可与主机(例如,图1中所说明的主机102)、如图2中所说明的SA到存储器电路238和/或图2中所说明的主机接口214的多个组件相关联。存储器命令队列499可类似于图2中所说明的CRQ242、LRQ244和LCQ246中的一者或一者以上,和/或其它组件。
存储器管理电路(例如,块管理装置440)可经由开关(例如,图2中所说明的开关220)而耦合到非易失性存储器控制电路(例如,图2中所说明的非易失性存储器控制电路222)。存储器管理电路可经配置以基于主机总线的信息宽度和主机总线的协议而分配用于主机写入的写入块群集。写入块群集可包含来自多个LUN250的多个块。主机总线可为主机(例如,图1中所说明的主机102)的部分。举例来说,主机总线可为具有1倍、2倍、4倍、8倍、16倍、32倍等等的总线宽度以及PCIe第1到3代协议的PCIe总线。写入块群集可包含来自比耦合到非易失性存储器控制电路中的多个通道控制电路的所有LUN少的LUN的一个块。在多个实施例中,存储器管理电路可经配置以根据主机总线的信息宽度和主机总线的协议而将写入块群集的大小限于用以支持最大主机总线带宽的LUN的最小数目。
存储器系统控制器的写入带宽可随着由主机总线支持的最大带宽、系统中的存储器通道的数目和每通道LUN的数目而变。分配比主机总线可支持的LUN多的LUN可浪费可原本用于回收操作的资源。因此,根据本发明的多个实施例,主机写入块群集大小可限于小于存储器系统中的LUN的总数目的某大小。
可分配来自LUN的块的剩余部分(例如,未分配给写入块群集的那些块)用于回收操作。存储器管理电路可经配置以暂时将多个经分配LUN从回收操作解除分配。可分配用于主机写入的写入块群集以使得写入块群集的块经写入于LUN的特定序列中。可通过暂时中止可在不久的将来用于写入的LUN的回收操作而限制回收带宽以改进存储器系统控制器的写入带宽。可至少部分响应于LUN的特定序列指示LUN是在用于主机写入的LUN的特定序列中接下来的LUN的阈值数目内而将经分配LUN中的至少一者从回收操作解除分配。针对回收读取操作、回收写入操作和回收擦除操作中每一者的阈值数目可为不同的。阈值数目可表示为LUN的数目的“排除区”,在所述“排除区”中在写入操作之前可能不会发生回收操作。
使用每通道多个LUN可导致如下情形:发布比特定通道可处置的命令多的命令,从而导致使所述命令相对于存储器通道排成队列,(例如)如关于图2中的CRQ242、LRQ244和LCQ246所描述。存储器管理电路可经配置以至少部分响应于与特定LUN相关联的队列的数目是在已填满的阈值内而限制经发布用于对所述特定LUN的回收操作的命令的数目。还可将每通道命令的最大数目限于停留在所要功率包络内。可至少部分响应于待由存储器系统控制器使用所引起的功率量超过功率的阈值量而限制经发布用于回收操作的命令的数目。还可限制每通道命令的最大数目,(例如)以便帮助确保用于同一通道和/或LUN的背对背命令充分间隔开以用于有效操作。存储器管理电路可经配置以坚持在用于回收操作的第一命令与第二命令的发布之间的至少最小时间(例如,时脉的数目)。最小时间可基于(例如)LUN中的经擦除块的总数目,这是因为回收带宽可随着经擦除块的数目减小而增加。
如果存在可用的经擦除块的适当供应,那么可在短期内维持最大主机写入带宽。一旦差不多消耗了经擦除块的供应,写入带宽即可归因于增加的回收操作而减小。存储器管理电路可经配置以(例如)参考块表484而追踪到达LUN的经擦除块的数目。存储器管理电路可经配置以至少部分响应于特定LUN中的经擦除块的数目超过回收阈值数目(例如,降到低于阈值数目)而进行针对所述特定LUN的回收操作。存储器管理电路可经配置以至少部分响应于特定LUN中的经擦除块的数目超过回收阈值数目(例如,超出阈值数目)而暂时中止针对所述特定LUN的回收操作。可至少部分响应于特定LUN中的经擦除块的数目降到低于主机写入阈值数目而暂时中止针对所述特定LUN的主机写入。存储器管理电路可经配置以至少部分响应于特定LUN中的经擦除块的数目超过写入阈值数目(例如,降到低于阈值数目)而暂时中止到所述特定LUN的写入。存储器管理电路可经配置以至少部分响应于特定LUN中的经擦除块的数目超过回收阈值数目(例如,超出阈值数目)而再进行到所述特定LUN的写入。这些实施例可帮助在回收操作与写入操作之间提供均衡(例如,动态负载平衡)。
一些存储器操作具有长的持续时间。通道控制电路(例如,图2中所说明的通道控制电路248)可包含轮询逻辑,轮询逻辑经配置以将状态读取发布到LUN(例如)以确定何时完成特定存储器操作。在一些情况下,此轮询可干扰使用与正经轮询的LUN相同的通道的其它命令。根据本发明的多个实施例,根据通过发布到LUN的命令所指示的操作类型而可使轮询逻辑闲置达特定时间。可针对特定操作(例如,读取、写入和/或擦除操作,以及其它操作)(例如)根据预期特定操作花费的时间来设置闲置时间。
结论
本发明包含各种设备(包含存储器系统控制器)的实例。一个此存储器系统控制器可包含开关和耦合到所述开关的包含通道控制电路的非易失性存储器控制电路。通道控制电路可耦合到包含块的逻辑单元。易失性存储器和包含本地存储器的存储器管理电路可耦合到开关。存储器管理电路可经配置以存储易失性存储器中的块表中的块中每一者的健康和状态信息,存储基于本地存储器中的准则而识别用于特定操作的候选块的候选块表,更新块表中的特定块的健康和状态信息,根据所述准则比较所述特定块的经更新健康和状态信息与候选块,以及响应于所述比较指示所述特定块较好地满足所述准则而更新候选块表以识别所述特定块。
应理解,当元件被称作“在”另一元件“上”、“连接到”或“耦合到”另一元件时,其可直接在另一元件上、直接连接到或直接耦合到另一元件,或可存在介入元件。相比来说,当元件被称作“直接在”另一元件“上”、“直接连接到”或“直接耦合到”另一元件时,不存在介入元件或层。如本文所使用,术语“和/或”包含多个相关联所列项目的任何和所有组合。
如本文所使用,术语“和/或”包含多个相关联所列项目的任何和所有组合。如本文所使用,除非另有提及,否则术语“或”意味逻辑包含或。即,“A或B”可包含(仅A)、(仅B)或(A与B两者)。换句话说,“A或B”可意味“A和/或B”或“A和B中的一者或一者以上”。
将理解,尽管术语第一、第二、第三等等可在本文用以描述各种元件,但这些元件不应受这些术语限制。这些术语是仅用以区分一元件与另一元件。因此,可在不脱离本发明的教示的情况下将第一元件称为第二元件。
尽管本文已说明并描述了特定实施例,但所属领域的技术人员将了解,可用经计算而实现相同结果的布置来替代所展示的特定实施例。本发明希望涵盖本发明的多个实施例的调适或变化。应理解,已以说明性方式而非以约束性方式来作出以上描述。当回顾以上描述时,以上实施例的组合和本文未特定描述的其它实施例对于所属领域的技术人员来说将为显而易见的。本发明的多个实施例的范围包含使用上述结构和方法的其它应用。因此,应参考附加权利要求书连同这些权利要求书有权得到的等效物的全范围来确定本发明的多个实施例的范围。
在上述[具体实施方式]中,出于使本发明流畅的目的而将一些特征一起集聚于单个实施例中。本发明的此方法不应被解释为反映本发明的所揭示实施例必须使用比每一权利要求中明确叙述的特征多的特征的意图。实情为,如随附权利要求书反映,本发明的标的物在于比单个所揭示实施例的所有特征少的特征。因此,随附权利要求书在此并入到实施方式中,其中每一权利要求依赖于其自身而作为单独实施例。

Claims (20)

1.一种包含存储器系统控制器的设备(104、204),其包括:
开关(220);
非易失性存储器控制电路(222),其耦合到所述开关(220)且包含多个通道控制电路(248),其中所述多个通道控制电路(248)中每一者被配置成耦合到多个逻辑单元LUN(250),其中所述多个逻辑单元LUN(250)中每一者包含多个块;
易失性存储器(212、412),其耦合到所述开关(220);以及
存储器管理电路(218),其耦合到所述开关(220)且包含本地存储器,其中所述存储器管理电路(218)经配置以:
存储所述易失性存储器(212、412)中的块表(484)中的所述多个块中每一者的健康和状态信息;
将候选块表(492)存储于所述本地存储器中,其中所述候选块表(492)基于用于特定操作的多个准则而识别用于所述特定操作的每一逻辑单元LUN(250)的一个候选块(494、495、496、497);
更新所述易失性存储器(212、412)中的所述块表(484)中的所述多个块的特定块的所述健康和状态信息;以及
根据所述多个准则比较所述特定块的经更新健康和状态信息与所述候选块(494、495、496、497);以及
至少部分响应于所述比较指示所述特定块较好地满足了所述多个准则而更新所述候选块表(492)以识别所述特定块。
2.根据权利要求1所述的设备,其中所述候选块表(492)识别候选块(494、495、496、497)以用于选自包含主机写入、耗损均衡读取、耗损均衡写入和擦除的操作的群组的所述特定操作。
3.根据权利要求1所述的设备,其中所述存储器管理电路(218)经配置以至少部分响应于针对所述特定块的写入、擦除或错误事件中的一者而更新所述易失性存储器(212、412)中的所述块表(484)中的所述特定块的所述健康和状态信息。
4.根据权利要求1所述的设备,其中所述存储器管理电路(218)经配置以在于所述易失性存储器(212、412)中更新所述特定块的所述健康和状态信息的同一时脉循环上更新所述候选块表(492)以识别所述特定块。
5.根据权利要求1到4中任一权利要求所述的设备,其中所述存储器管理电路(218)经配置以根据所述多个准则独立于针对所述多个块中任一者的写入、擦除或错误事件而比较所述易失性存储器(212、412)中的所述块表(484)中的所述多个块中每一者的所述经更新健康和状态信息与所述候选块(494、495、496、497)。
6.根据权利要求5所述的设备,其中所述存储器管理电路(222)经配置以在已比较所述多个块中每一者之后停止独立于写入、擦除或错误事件而比较所述健康和状态信息。
7.根据权利要求1到4中任一权利要求所述的设备,其中所述存储器管理电路(222)经配置以:
存储所述易失性存储器(212、412)中的逻辑块地址LBA表(482)中的逻辑到物理地址转译;
在对所述多个块的特定块的耗损均衡操作期间从所述特定块读取信息之前从所述块表(484)检索对应于所述特定块的逻辑地址的第一物理地址;
在所述耗损均衡操作期间在将所述信息写入到所述多个块的不同块之后从所述LBA表(482)检索对应于所述逻辑地址的第二物理地址;以及
至少部分响应于所述第二物理地址等于所述第一物理地址而用对应于在所述耗损均衡操作期间在将所述信息写入到所述多个块的不同块的第三物理地址来更新所述LBA表(482)。
8.根据权利要求7所述的设备,其中所述存储器管理电路(218)经配置以至少部分响应于所述第二物理地址不同于所述第一物理地址而使所述耗损均衡操作无效。
9.一种操作包含存储器系统控制器的设备的方法,其包括:
存储易失性存储器(212、412)中的块表(484)中的多个块中每一者的健康和状态信息;
将候选块表(492)存储于本地存储器中,其中所述候选块表(492)基于用于特定操作的多个准则而识别用于所述特定操作的每一逻辑单元(250)的一个候选块(494、495、496、497);
更新所述易失性存储器(212、412)中的所述块表(484)中的所述多个块的特定块的所述健康和状态信息;以及
根据所述多个准则比较所述特定块的经更新健康和状态信息与所述候选块(494、495、496、497);以及
至少部分响应于所述比较指示所述特定块较好地满足了所述多个准则而更新所述候选块表(492)以识别所述特定块。
10.根据权利要求9所述的方法,其中所述特定操作是选自包含主机写入、耗损均衡读取、耗损均衡写入和擦除的操作的群组。
11.根据权利要求9所述的方法,其中更新所述易失性存储器(212、412)中的所述块表(484)中的所述特定块的所述健康和状态信息包含至少部分响应于针对所述特定块的写入、擦除或错误事件中的一者而更新。
12.根据权利要求9所述的方法,其中更新所述候选块表(492)以识别所述特定块包括在于所述易失性存储器(212、412)中更新所述特定块的所述健康和状态信息的同一时脉循环上更新所述候选块表(492)。
13.根据权利要求9到12中任一权利要求所述的方法,其中根据所述多个准则比较所述特定块的所述经更新健康和状态信息与所述候选块(494、495、496、497)包括独立于针对所述多个块中任一者的写入、擦除或错误事件而比较。
14.根据权利要求13所述的方法,其中所述方法包含在已比较所述多个块中每一者之后停止独立于写入、擦除或错误事件而比较所述健康和状态信息。
15.根据权利要求9到12中任一权利要求所述的方法,其中所述方法包含:
存储所述易失性存储器(212、412)中的逻辑块地址LBA表(482)中的逻辑到物理地址转译;
在对所述多个块的特定块的耗损均衡操作期间从所述特定块读取信息之前从所述块表(484)检索对应于所述特定块的逻辑地址的第一物理地址;
在所述耗损均衡操作期间在将所述信息写入到所述多个块的不同块之后从所述LBA表(482)检索对应于所述逻辑地址的第二物理地址;以及
至少部分响应于所述第二物理地址等于所述第一物理地址而用对应于在所述耗损均衡操作期间在将所述信息写入到所述多个块的所述不同块的第三物理地址来更新所述LBA表(482)。
16.根据权利要求15所述的方法,其中所述方法包含至少部分响应于所述第二物理地址不同于所述第一物理地址而使所述耗损均衡操作无效。
17.一种操作包含存储器系统控制器的设备的方法,其包括:
存储易失性存储器(212、412)中的逻辑块地址LBA表(482)中的逻辑到物理地址转译;
在对多个块的特定块的耗损均衡操作期间从所述特定块读取信息之前从块表(484)检索对应于所述特定块的逻辑地址的第一物理地址;
在所述耗损均衡操作期间在将所述信息写入到所述多个块的不同块之后从所述LBA表(482)检索对应于所述逻辑地址的第二物理地址;以及
至少部分响应于来自所述LBA表(482)的所述第二物理地址不同于来自所述块表(484)的所述第一物理地址而使所述耗损均衡操作无效。
18.根据权利要求17所述的方法,其中所述方法包含至少部分响应于所述第二物理地址等于所述第一物理地址而用对应于所述不同块的第三物理地址来更新所述LBA表(482)。
19.一种包含存储器系统控制器的设备(104、204),其包括:
开关(220);
非易失性存储器控制电路(222),其耦合到所述开关(220)且包含多个通道控制电路(248),其中所述多个通道控制电路(248)中每一者被配置成耦合到多个逻辑单元LUN(250),其中所述多个逻辑单元LUN(250)中每一者包含多个块;
易失性存储器(212、412),其耦合到所述开关(220);以及
存储器管理电路(218),其耦合到所述开关(220)且包含本地存储器,其中所述存储器管理电路(218)经配置以:
存储所述易失性存储器(212、412)中的逻辑块地址LBA表(482)中的逻辑到物理地址转译;
在对所述多个块的特定块的耗损均衡操作期间从所述特定块读取信息之前从块表(484)检索对应于所述特定块的逻辑地址的第一物理地址;
在所述耗损均衡操作期间在将所述信息写入到所述多个块的不同块之后从所述LBA表(482)检索对应于所述逻辑地址的第二物理地址;以及
至少部分响应于所述第二物理地址等于所述第一物理地址而用对应于在所述耗损均衡操作期间在将所述信息写入到所述多个块的所述不同块的第三物理地址来更新所述LBA表(482)。
20.根据权利要求19所述的设备,其中所述存储器管理电路(218)经配置以至少部分响应于所述第二物理地址不同于所述第一物理地址而使所述耗损均衡操作无效。
CN201280032634.4A 2011-05-31 2012-05-24 包含存储器系统控制器的设备和相关方法 Active CN103635968B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/149,518 2011-05-31
US13/149,518 US9514838B2 (en) 2011-05-31 2011-05-31 Apparatus including memory system controllers and related methods for memory management using block tables
PCT/US2012/039412 WO2012166537A2 (en) 2011-05-31 2012-05-24 Apparatus including memory system controllers and related methods

Publications (2)

Publication Number Publication Date
CN103635968A CN103635968A (zh) 2014-03-12
CN103635968B true CN103635968B (zh) 2016-08-31

Family

ID=47260204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280032634.4A Active CN103635968B (zh) 2011-05-31 2012-05-24 包含存储器系统控制器的设备和相关方法

Country Status (7)

Country Link
US (1) US9514838B2 (zh)
EP (1) EP2715730B1 (zh)
JP (1) JP5759623B2 (zh)
KR (1) KR101573591B1 (zh)
CN (1) CN103635968B (zh)
TW (1) TWI457758B (zh)
WO (1) WO2012166537A2 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120317357A1 (en) * 2011-06-13 2012-12-13 Infinidat Ltd. System And Method For Identifying Location Of A Disk Drive In A SAS Storage System
US8671249B2 (en) * 2011-07-22 2014-03-11 Fusion-Io, Inc. Apparatus, system, and method for managing storage capacity recovery
US20130145077A1 (en) * 2011-12-01 2013-06-06 International Business Machines Corporation Dynamically managing memory lifespan in hybrid storage configurations
US9395924B2 (en) * 2013-01-22 2016-07-19 Seagate Technology Llc Management of and region selection for writes to non-volatile memory
CN103970669A (zh) 2013-02-06 2014-08-06 Lsi公司 用于加速在固态设备中的回收操作的物理到逻辑地址映射
US9304577B2 (en) 2013-06-05 2016-04-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Reducing power consumption and wakeup latency in SSD controllers by not resetting flash devices
TWI616756B (zh) * 2013-07-30 2018-03-01 National Taiwan University Of Science And Technology 具非揮發性記憶體之串並列傳輸介面電路
CN111309256B (zh) * 2013-11-07 2024-04-30 奈特力斯股份有限公司 混合内存模块以及操作混合内存模块的系统和方法
US9933980B2 (en) * 2014-02-24 2018-04-03 Toshiba Memory Corporation NAND raid controller for connection between an SSD controller and multiple non-volatile storage units
TWI579762B (zh) * 2014-05-06 2017-04-21 瑞昱半導體股份有限公司 固態硬碟控制電路及相關的固態硬碟裝置與固態硬碟存取系統
US10402319B2 (en) * 2014-07-25 2019-09-03 Micron Technology, Inc. Apparatuses and methods for concurrently accessing different memory planes of a memory
CN106547701B (zh) * 2015-09-17 2020-01-10 慧荣科技股份有限公司 记忆装置及数据读取方法
TWI587141B (zh) * 2015-09-17 2017-06-11 慧榮科技股份有限公司 記憶裝置及資料讀取方法
KR102602694B1 (ko) * 2015-12-15 2023-11-15 삼성전자주식회사 스토리지 컨트롤러의 작동 방법과 이를 포함하는 스토리지 장치의 작동 방법
US10140057B2 (en) * 2016-02-18 2018-11-27 Micron Technology, Inc. Apparatuses and methods for multiple address registers for a solid state device
US9997232B2 (en) 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
US10372566B2 (en) 2016-09-16 2019-08-06 Micron Technology, Inc. Storing memory array operational information in nonvolatile subarrays
US10083751B1 (en) * 2017-07-31 2018-09-25 Micron Technology, Inc. Data state synchronization
US11294594B2 (en) 2017-08-07 2022-04-05 Kioxia Corporation SSD architecture supporting low latency operation
US10289592B1 (en) * 2017-11-09 2019-05-14 Funai Electric Co., Ltd. Location-based address adapter and system
US10809942B2 (en) * 2018-03-21 2020-10-20 Micron Technology, Inc. Latency-based storage in a hybrid memory system
US10733104B2 (en) * 2018-08-03 2020-08-04 Micron Technology, Inc. Fast non-volatile storage device recovery techniques
US10817430B2 (en) * 2018-10-02 2020-10-27 Micron Technology, Inc. Access unit and management segment memory operations
TWI709850B (zh) * 2019-01-30 2020-11-11 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US11023150B2 (en) * 2019-07-01 2021-06-01 International Business Machines Corporation Block mode toggling using hybrid controllers
CN111078146B (zh) * 2019-12-13 2023-11-14 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
US11467763B2 (en) * 2021-01-20 2022-10-11 Micron Technology, Inc. Valid data aware media reliability scanning for memory sub-blocks
CN114637712B (zh) * 2022-03-18 2023-03-10 无锡众星微系统技术有限公司 一种EDFB模式下SAS2SATA Bridge的错误处理方法和装置
US20230359356A1 (en) * 2022-05-09 2023-11-09 Micron Technology, Inc. Adaptive media management for memory systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101689156A (zh) * 2007-07-11 2010-03-31 美光科技公司 用于初始化存储器系统的系统与方法以及使用其的存储器装置和基于处理器的系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860124A (en) * 1996-09-30 1999-01-12 Intel Corporation Method for performing a continuous over-write of a file in nonvolatile memory
US6411546B1 (en) * 1997-03-31 2002-06-25 Lexar Media, Inc. Nonvolatile memory using flexible erasing methods and method and system for using same
JP3506175B2 (ja) * 2000-10-05 2004-03-15 日本電気株式会社 メモリ制御回路とメモリ制御方法
US6895464B2 (en) * 2002-06-03 2005-05-17 Honeywell International Inc. Flash memory management system and method utilizing multiple block list windows
JP4518951B2 (ja) * 2002-10-28 2010-08-04 サンディスク コーポレイション 不揮発性記憶システムにおける自動損耗均等化
US20110029723A1 (en) * 2004-08-06 2011-02-03 Super Talent Electronics, Inc. Non-Volatile Memory Based Computer Systems
US7849253B2 (en) * 2005-04-04 2010-12-07 Standard Microsystems Corporation Method for fast access to flash-memory media
US20060224594A1 (en) * 2005-04-04 2006-10-05 Oracle International Corporation Methods and systems for identifying highly contended blocks in a database
US7509474B2 (en) * 2005-06-08 2009-03-24 Micron Technology, Inc. Robust index storage for non-volatile memory
JP2008028986A (ja) * 2006-06-21 2008-02-07 Matsushita Electric Ind Co Ltd 送信装置、受信装置、送信方法、受信方法及び集積回路
JP2008146574A (ja) * 2006-12-13 2008-06-26 Hitachi Ltd 記憶制御装置及び記憶制御方法
TWI373045B (en) 2008-01-07 2012-09-21 Phison Electronics Corp Flash memory storage apparatus, flash memory controller and switching method thereof
US20090198952A1 (en) 2008-02-04 2009-08-06 Apple Inc Memory Mapping Architecture
US8190810B2 (en) * 2008-04-18 2012-05-29 Silicon Motion, Inc. Non-volatile memory apparatus and method for accessing a non-volatile memory apparatus
JP4439569B2 (ja) * 2008-04-24 2010-03-24 株式会社東芝 メモリシステム
US8046530B2 (en) 2008-10-02 2011-10-25 Infineon Technologies Ag Process and method for erase strategy in solid state disks
US8838876B2 (en) * 2008-10-13 2014-09-16 Micron Technology, Inc. Translation layer in a solid state storage device
US8725927B2 (en) 2008-10-15 2014-05-13 Micron Technology, Inc. Hot memory block table in a solid state storage device
TWI385517B (zh) 2008-12-05 2013-02-11 Apacer Technology Inc Storage device and data management method
US20100174845A1 (en) 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8412880B2 (en) 2009-01-08 2013-04-02 Micron Technology, Inc. Memory system controller to manage wear leveling across a plurality of storage nodes
JP4843693B2 (ja) * 2009-03-30 2011-12-21 株式会社東芝 記憶装置
US8266501B2 (en) * 2009-09-29 2012-09-11 Micron Technology, Inc. Stripe based memory operation
US8990476B2 (en) * 2009-10-01 2015-03-24 Micron Technology, Inc. Power interrupt management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101689156A (zh) * 2007-07-11 2010-03-31 美光科技公司 用于初始化存储器系统的系统与方法以及使用其的存储器装置和基于处理器的系统

Also Published As

Publication number Publication date
US9514838B2 (en) 2016-12-06
JP5759623B2 (ja) 2015-08-05
WO2012166537A3 (en) 2013-01-31
TWI457758B (zh) 2014-10-21
KR20140012175A (ko) 2014-01-29
KR101573591B1 (ko) 2015-12-11
TW201303591A (zh) 2013-01-16
US20120311232A1 (en) 2012-12-06
JP2014515534A (ja) 2014-06-30
WO2012166537A2 (en) 2012-12-06
EP2715730A2 (en) 2014-04-09
EP2715730B1 (en) 2019-10-16
EP2715730A4 (en) 2015-03-04
CN103635968A (zh) 2014-03-12

Similar Documents

Publication Publication Date Title
CN103635968B (zh) 包含存储器系统控制器的设备和相关方法
CN103650054B (zh) 包含存储器系统控制器的设备和相关方法
US11068170B2 (en) Multi-tier scheme for logical storage management
CN103635969B (zh) 包含存储器系统控制器的设备和相关方法
CN106445724B (zh) 与受保护数据分开存储奇偶校验数据
US9747029B2 (en) Apparatus including memory management control circuitry and related methods for allocation of a write block cluster
TWI483178B (zh) 包含記憶體系統控制器之裝置及相關方法
CN109542675A (zh) 存储器系统及其操作方法
CN109992202A (zh) 数据存储设备、其操作方法以及包括其的数据处理系统
CN109902031A (zh) 存储系统及其操作方法
KR20220125836A (ko) 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치를 포함하는 전자 장치

Legal Events

Date Code Title Description
PB01 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