CN103650054A - 包含存储器***控制器的设备和相关方法 - Google Patents
包含存储器***控制器的设备和相关方法 Download PDFInfo
- Publication number
- CN103650054A CN103650054A CN201280033939.7A CN201280033939A CN103650054A CN 103650054 A CN103650054 A CN 103650054A CN 201280033939 A CN201280033939 A CN 201280033939A CN 103650054 A CN103650054 A CN 103650054A
- Authority
- CN
- China
- Prior art keywords
- lcq
- order
- command
- logical
- logic unit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
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)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (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、…、1 10-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编码也不使用基元。
功能特定互连可经配置以响应于第一命令协议(例如,本机命令队列(NCQ)和/或带标命令队列(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的功能框图。所述HBA334可类似于图3A中的HBA234,但展示更多细节。所述SA编程顺应装置336可类似于图3A中说明的SA编程顺应装置236,但展示更多细节。
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可经配置以默认为同时操作。Wr FSM378和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.一种设备,其包括:
开关;以及
耦合到所述开关的非易失性存储器控制电路,其中所述非易失性存储器控制电路包含耦合到多个逻辑单元的通道控制电路,其中所述通道控制电路经配置以:
将擦除命令中继到所述多个逻辑单元的第一逻辑单元;以及
在所述擦除命令正经执行于所述多个逻辑单元的所述第一逻辑单元上时将特定命令从所述开关中继到所述多个逻辑单元的第二逻辑单元。
2.根据权利要求1所述的设备,其中所述通道控制电路包含:
多个逻辑单元命令队列LCQ;以及
耦合到所述多个LCQ的逻辑单元请求队列LRQ,其中所述LRQ经配置以:
按针对所述多个逻辑单元的特定逻辑单元的第一多个命令被接收的次序将所述第一多个命令中继到与所述多个逻辑单元的所述特定逻辑单元相关联的所述多个LCQ中的一者;以及
按根据所述多个逻辑单元的不同逻辑单元的状态的次序将针对所述不同逻辑单元的第二多个命令中继到与所述多个逻辑单元的所述不同逻辑单元相关联的所述LCQ中的那些LCQ。
3.根据权利要求2所述的设备,其中所述非易失性存储器控制电路包含:
多个通道控制电路,每一通道控制电路耦合到单独多个逻辑单元;以及
耦合到所述多个通道控制电路的通道请求队列CRQ,其中所述CRQ经配置以从所述开关接收命令且将所述命令中继到所述LRQ中的一者。
4.根据权利要求2所述的设备,其中所述LRQ经配置以将所述擦除命令中继到与所述多个逻辑单元的所述第一逻辑单元相关联的所述多个LCQ的第一LCQ,且将所述特定命令中继到与所述多个逻辑单元的所述第二逻辑单元相关联的所述多个LCQ的第二LCQ。
5.根据权利要求1到4中任一权利要求所述的设备,其中所述特定命令为读取命令和写入命令中的一者。
6.一种方法,其包括:
经由通道控制电路将擦除命令中继到多个逻辑单元的第一逻辑单元;以及
在所述擦除命令正经执行于所述多个逻辑单元的所述第一逻辑单元上时经由所述通道控制电路将特定命令中继到所述多个逻辑单元的第二逻辑单元。
7.根据权利要求6所述的方法,其中所述方法包含:
按针对所述多个逻辑单元的特定逻辑单元的第一多个命令被接收的次序将所述第一多个命令中继到与所述多个逻辑单元的所述特定逻辑单元相关联的所述多个LCQ中的一者;以及
按根据所述多个逻辑单元的不同逻辑单元的状态的次序将针对所述不同逻辑单元的第二多个命令中继到与所述多个逻辑单元的所述不同逻辑单元相关联的所述LCQ中的那些LCQ。
8.根据权利要求6至7中任一权利要求所述的方法,其中所述方法包含从存储器管理电路中继所述擦除命令。
9.根据权利要求8所述的方法,其中所述方法包含从主机接收所述特定命令。
10.一种方法,其包括:
按针对特定逻辑单元的第一多个命令被接收的次序经由逻辑单元请求队列LRQ将所述第一多个命令中继到与所述特定逻辑单元相关联的多个逻辑单元命令队列LCQ中的一者;以及
按根据不同逻辑单元的状态的次序经由所述LRQ将针对所述不同逻辑单元的第二多个命令中继到与所述不同逻辑单元相关联的所述多个LCQ中的那些LCQ。
11.根据权利要求10所述的方法,其中所述方法包含:
在通道请求队列CRQ处从开关接收所述第一多个命令且将所述第一多个命令中继到所述LRQ;以及
在所述CRQ处从所述开关接收所述第二多个命令且将所述第二多个命令中继到所述LRQ。
12.根据权利要求10至11中任一权利要求所述的方法,其中所述不同逻辑单元的所述状态为就绪/忙碌状态,且其中所述方法包含:
响应于与第二LCQ相关联的所述不同逻辑单元的所述状态为忙碌而在将所述第二多个命令的第二命令中继到所述第二LCQ之前将所述第二多个命令的第一命令中继到第一LCQ,其中所述第二多个命令的所述第一命令在时间上比所述第二多个命令的所述第二命令晚接收;
响应于所述相关联不同逻辑单元的所述状态为就绪而将所述第二多个命令的所述第二命令中继到所述第二LCQ。
13.一种设备,其包括:
开关;以及
耦合到所述开关的非易失性存储器控制电路,其中所述非易失性存储器控制电路包含:
多个通道控制电路,其中所述多个通道控制电路中每一者包含:
多个逻辑单元命令队列LCQ;以及
耦合到所述多个LCQ的逻辑单元请求队列LRQ,其中所述LRQ经配置以:
按针对特定逻辑单元的第一多个命令被接收的次序将所述第一多个命令中继到与所述特定逻辑单元相关联的所述多个LCQ中的一者;以及
按根据不同逻辑单元的状态的次序将针对所述不同逻辑单元的第二多个命令中继到与所述不同逻辑单元相关联的所述LCQ中的那些LCQ;以及
耦合到所述多个通道控制电路的通道请求队列CRQ,其中所述CRQ经配置以从所述开关接收命令且将所述命令中继到所述LRQ中的一者。
14.根据权利要求13所述的设备,其中:
所述不同逻辑单元的所述状态为所述不同逻辑单元的就绪/忙碌状态;且
所述LRQ经配置以响应于与第二LCQ相关联的所述不同逻辑单元的所述状态为忙碌而在将所述第二多个命令的第二命令中继到所述第二LCQ之前将所述第二多个命令的第一命令中继到第一LCQ,其中所述第二多个命令的所述第一命令在时间上比所述第二多个命令的所述第二命令晚接收。
15.根据权利要求14所述的设备,其中所述LRQ经配置以响应于所述相关联不同逻辑单元的所述状态为就绪而将所述第二多个命令的所述第二命令中继到所述第二LCQ。
16.根据权利要求13至15中任一权利要求所述的设备,其中:
所述LRQ经配置以响应于与特定逻辑单元相关联的所述LCQ已填满而使针对所述特定逻辑单元的命令排成队列;且
所述CRQ经配置以响应于特定LRQ已填满而使针对所述特定LRQ的命令排成队列。
17.根据权利要求13至15中任一权利要求所述的设备控制器,其中每一通道控制电路经配置成通过开放NAND快闪接口ONFI顺应总线而耦合到多个逻辑单元。
18.根据权利要求13至15中任一权利要求所述的设备,其中所述多个LCQ中每一者包括2深先进先出FIFO电路,所述2深先进先出FIFO电路经配置以使当前命令和待在所述当前命令之后执行的接下来的命令排成队列,且其中所述多个LCQ中每一者经配置成耦合到不同逻辑单元。
19.根据权利要求13至15中任一权利要求所述的设备,其中所述LRQ包括L数目深队列电路,其中L等于每通道控制电路的逻辑单元的数目。
20.根据权利要求13至15中任一权利要求所述的设备,其中所述CRQ包括C数目深队列电路,其中C等于x*(所述多个通道控制电路),其中x为整数。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/149,461 US8543758B2 (en) | 2011-05-31 | 2011-05-31 | Apparatus including memory channel control circuit and related methods for relaying commands to logical units |
US13/149,461 | 2011-05-31 | ||
PCT/US2012/039364 WO2012166522A2 (en) | 2011-05-31 | 2012-05-24 | Apparatus including memory system controllers and related methods |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103650054A true CN103650054A (zh) | 2014-03-19 |
CN103650054B CN103650054B (zh) | 2017-02-15 |
Family
ID=47260199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280033939.7A Active CN103650054B (zh) | 2011-05-31 | 2012-05-24 | 包含存储器***控制器的设备和相关方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8543758B2 (zh) |
EP (1) | EP2715732B1 (zh) |
JP (2) | JP2014515533A (zh) |
KR (1) | KR101560469B1 (zh) |
CN (1) | CN103650054B (zh) |
TW (1) | TWI477965B (zh) |
WO (1) | WO2012166522A2 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106662979A (zh) * | 2014-04-29 | 2017-05-10 | 桑迪士克科技有限责任公司 | 在非易失性存储器***中基于用电量的节流命令执行 |
CN107636766A (zh) * | 2015-06-26 | 2018-01-26 | 英特尔公司 | 用于减少针对块可擦除非易失性存储器的读取延时的方法和装置 |
CN108701081A (zh) * | 2016-01-11 | 2018-10-23 | 美光科技公司 | 用于同时存取非易失性存储器的多个分区的设备和方法 |
CN110908591A (zh) * | 2018-09-17 | 2020-03-24 | 群联电子股份有限公司 | 存储器管理方法、存储器储存装置及存储器控制电路单元 |
CN113253910A (zh) * | 2020-02-10 | 2021-08-13 | 西部数据技术公司 | Nand丢弃的命令检测和恢复 |
CN114341818A (zh) * | 2019-08-22 | 2022-04-12 | 美光科技公司 | 分级存储器设备 |
TWI765368B (zh) * | 2019-10-09 | 2022-05-21 | 美商美光科技公司 | 具有資料保護架構之記憶體裝置 |
US11474937B2 (en) | 2020-10-16 | 2022-10-18 | Neuchips Corporation | Computing device and operation method thereof |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9146688B2 (en) * | 2012-12-05 | 2015-09-29 | SanDisk Technologies, Inc. | Advanced groomer for storage array |
US10067829B2 (en) | 2013-12-13 | 2018-09-04 | Intel Corporation | Managing redundancy information in a non-volatile memory |
KR102164617B1 (ko) | 2014-03-24 | 2020-10-12 | 삼성전자주식회사 | 데이터 저장 장치의 동작 방법과 상기 데이터 저장 장치를 포함하는 시스템의 동작 방법 |
KR102211709B1 (ko) | 2014-05-19 | 2021-02-02 | 삼성전자주식회사 | 신호 송수신 특성을 향상한 불휘발성 메모리 시스템, 호스트 장치, 불휘발성 메모리 시스템 및 호스트의 동작방법 |
CN104156432A (zh) * | 2014-08-08 | 2014-11-19 | 四川九成信息技术有限公司 | 一种文件访问方法 |
JP2018073038A (ja) | 2016-10-27 | 2018-05-10 | 東芝メモリ株式会社 | メモリシステム |
US11093811B2 (en) * | 2017-06-05 | 2021-08-17 | Kioxia Corporation | Memory card with multiple modes, and host device corresponding to the memory card |
TWI640920B (zh) | 2017-06-30 | 2018-11-11 | 慧榮科技股份有限公司 | 資料儲存裝置、非揮發式記憶體操作方法及操作指令執行方法 |
CN113728383B (zh) | 2019-02-22 | 2023-05-30 | 美光科技公司 | 存储器装置接口及方法 |
EP4081954A4 (en) | 2019-12-27 | 2023-04-05 | Micron Technology, Inc. | NEUROMORPHIC STORAGE DEVICE AND METHOD |
EP4085458A4 (en) | 2019-12-30 | 2023-05-31 | Micron Technology, Inc. | STORAGE DEVICE INTERFACE AND METHOD |
KR20220167077A (ko) * | 2021-06-11 | 2022-12-20 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US20240028259A1 (en) * | 2022-07-21 | 2024-01-25 | Micron Technology, Inc. | Buffer allocation for reducing block transit penalty |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802343A (en) * | 1993-10-26 | 1998-09-01 | Intel Corporation | Method of prioritizing subsequently received program and erase commands during a block operation for a nonvolatile semiconductor memory |
US20060064560A1 (en) * | 2004-09-22 | 2006-03-23 | Hitachi, Ltd. | Storage system and storage control method |
US20080052449A1 (en) * | 2006-08-22 | 2008-02-28 | Jin-Ki Kim | Modular command structure for memory and memory system |
US20090259808A1 (en) * | 2003-03-25 | 2009-10-15 | Sandisk Il Ltd. | Methods of Sanitizing a Flash-Based Data Storage Device |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1063442A (ja) * | 1996-08-22 | 1998-03-06 | Toshiba Corp | 半導体ディスク装置 |
US6662262B1 (en) * | 1999-10-19 | 2003-12-09 | Advanced Micro Devices, Inc. | OTP sector double protection for a simultaneous operation flash memory |
US6654848B1 (en) * | 2000-09-15 | 2003-11-25 | Advanced Micro Devices, Inc. | Simultaneous execution command modes in a flash memory device |
US8176238B2 (en) * | 2003-12-02 | 2012-05-08 | Super Talent Electronics, Inc. | Command queuing smart storage transfer manager for striping data to raw-NAND flash modules |
US20050144516A1 (en) * | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive deterministic grouping of blocks into multi-block units |
US20050198186A1 (en) | 2004-01-20 | 2005-09-08 | Mor Griv | Method for automatic discovering of logical units and storage devices connected to a virtualization switch |
US8060670B2 (en) * | 2004-03-17 | 2011-11-15 | Super Talent Electronics, Inc. | Method and systems for storing and accessing data in USB attached-SCSI (UAS) and bulk-only-transfer (BOT) based flash-memory device |
JP4643198B2 (ja) | 2004-07-28 | 2011-03-02 | 株式会社日立製作所 | 負荷分散コンピュータシステム、経路設定プログラム及びその方法 |
KR100672992B1 (ko) * | 2005-01-04 | 2007-01-24 | 삼성전자주식회사 | 반도체 메모리 장치의 동작 방법 |
WO2008070813A2 (en) * | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for a front-end, distributed raid |
US8074011B2 (en) * | 2006-12-06 | 2011-12-06 | Fusion-Io, Inc. | Apparatus, system, and method for storage space recovery after reaching a read count limit |
US7870351B2 (en) | 2007-11-15 | 2011-01-11 | Micron Technology, Inc. | System, apparatus, and method for modifying the order of memory accesses |
US8751755B2 (en) * | 2007-12-27 | 2014-06-10 | Sandisk Enterprise Ip Llc | Mass storage controller volatile memory containing metadata related to flash memory storage |
WO2009140112A1 (en) * | 2008-05-13 | 2009-11-19 | Rambus Inc. | Fractional program commands for memory devices |
US7970978B2 (en) * | 2008-05-27 | 2011-06-28 | Initio Corporation | SSD with SATA and USB interfaces |
US20100115172A1 (en) * | 2008-11-04 | 2010-05-06 | Mosaid Technologies Incorporated | Bridge device having a virtual page buffer |
US8078848B2 (en) * | 2009-01-09 | 2011-12-13 | Micron Technology, Inc. | Memory controller having front end and back end channels for modifying commands |
US8055816B2 (en) * | 2009-04-09 | 2011-11-08 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
US8850103B2 (en) * | 2009-08-28 | 2014-09-30 | Microsoft Corporation | Interruptible NAND flash memory |
US20110060869A1 (en) | 2009-09-08 | 2011-03-10 | Ocz Technology Group, Inc. | Large capacity solid-state storage devices and methods therefor |
US8331123B2 (en) * | 2009-09-21 | 2012-12-11 | Ocz Technology Group, Inc. | High performance solid-state drives and methods therefor |
US8990476B2 (en) | 2009-10-01 | 2015-03-24 | Micron Technology, Inc. | Power interrupt management |
US8681546B2 (en) * | 2011-02-22 | 2014-03-25 | Apple Inc. | Variable impedance control for memory devices |
-
2011
- 2011-05-31 US US13/149,461 patent/US8543758B2/en active Active
-
2012
- 2012-05-24 WO PCT/US2012/039364 patent/WO2012166522A2/en unknown
- 2012-05-24 CN CN201280033939.7A patent/CN103650054B/zh active Active
- 2012-05-24 KR KR1020137034532A patent/KR101560469B1/ko active IP Right Grant
- 2012-05-24 EP EP12793596.3A patent/EP2715732B1/en active Active
- 2012-05-24 JP JP2014513587A patent/JP2014515533A/ja active Pending
- 2012-05-30 TW TW101119409A patent/TWI477965B/zh active
-
2013
- 2013-09-24 US US14/035,505 patent/US9430373B2/en active Active
-
2015
- 2015-11-27 JP JP2015231866A patent/JP6163532B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802343A (en) * | 1993-10-26 | 1998-09-01 | Intel Corporation | Method of prioritizing subsequently received program and erase commands during a block operation for a nonvolatile semiconductor memory |
US20090259808A1 (en) * | 2003-03-25 | 2009-10-15 | Sandisk Il Ltd. | Methods of Sanitizing a Flash-Based Data Storage Device |
US20060064560A1 (en) * | 2004-09-22 | 2006-03-23 | Hitachi, Ltd. | Storage system and storage control method |
US20080052449A1 (en) * | 2006-08-22 | 2008-02-28 | Jin-Ki Kim | Modular command structure for memory and memory system |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106662979B (zh) * | 2014-04-29 | 2020-04-14 | 桑迪士克科技有限责任公司 | 在非易失性存储器***中基于用电量的节流命令执行 |
CN106662979A (zh) * | 2014-04-29 | 2017-05-10 | 桑迪士克科技有限责任公司 | 在非易失性存储器***中基于用电量的节流命令执行 |
CN107636766A (zh) * | 2015-06-26 | 2018-01-26 | 英特尔公司 | 用于减少针对块可擦除非易失性存储器的读取延时的方法和装置 |
CN108701081A (zh) * | 2016-01-11 | 2018-10-23 | 美光科技公司 | 用于同时存取非易失性存储器的多个分区的设备和方法 |
US11768603B2 (en) | 2016-01-11 | 2023-09-26 | Micron Technology, Inc. | Apparatuses and methods for concurrently accessing multiple partitions of a non-volatile memory |
CN110908591B (zh) * | 2018-09-17 | 2023-05-30 | 群联电子股份有限公司 | 存储器管理方法、存储器储存装置及存储器控制电路单元 |
CN110908591A (zh) * | 2018-09-17 | 2020-03-24 | 群联电子股份有限公司 | 存储器管理方法、存储器储存装置及存储器控制电路单元 |
CN114341818A (zh) * | 2019-08-22 | 2022-04-12 | 美光科技公司 | 分级存储器设备 |
CN114341818B (zh) * | 2019-08-22 | 2023-05-23 | 美光科技公司 | 分级存储器设备 |
US11461020B2 (en) | 2019-10-09 | 2022-10-04 | Micron Technology, Inc. | Memory device equipped with data protection scheme |
TWI765368B (zh) * | 2019-10-09 | 2022-05-21 | 美商美光科技公司 | 具有資料保護架構之記憶體裝置 |
CN113253910A (zh) * | 2020-02-10 | 2021-08-13 | 西部数据技术公司 | Nand丢弃的命令检测和恢复 |
CN113253910B (zh) * | 2020-02-10 | 2024-06-04 | 西部数据技术公司 | Nand丢弃的命令检测和恢复 |
US11474937B2 (en) | 2020-10-16 | 2022-10-18 | Neuchips Corporation | Computing device and operation method thereof |
Also Published As
Publication number | Publication date |
---|---|
US20140025876A1 (en) | 2014-01-23 |
TWI477965B (zh) | 2015-03-21 |
EP2715732A2 (en) | 2014-04-09 |
JP2016053983A (ja) | 2016-04-14 |
US20120311230A1 (en) | 2012-12-06 |
EP2715732B1 (en) | 2018-11-21 |
EP2715732A4 (en) | 2015-02-18 |
TW201310233A (zh) | 2013-03-01 |
CN103650054B (zh) | 2017-02-15 |
WO2012166522A3 (en) | 2013-03-21 |
WO2012166522A2 (en) | 2012-12-06 |
KR101560469B1 (ko) | 2015-10-14 |
JP6163532B2 (ja) | 2017-07-12 |
KR20140013098A (ko) | 2014-02-04 |
US8543758B2 (en) | 2013-09-24 |
US9430373B2 (en) | 2016-08-30 |
JP2014515533A (ja) | 2014-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103650054A (zh) | 包含存储器***控制器的设备和相关方法 | |
CN103635968B (zh) | 包含存储器***控制器的设备和相关方法 | |
CN103635969A (zh) | 包含存储器***控制器的设备和相关方法 | |
US11068170B2 (en) | Multi-tier scheme for logical storage management | |
CN106445724B (zh) | 与受保护数据分开存储奇偶校验数据 | |
US9747029B2 (en) | Apparatus including memory management control circuitry and related methods for allocation of a write block cluster | |
TWI483178B (zh) | 包含記憶體系統控制器之裝置及相關方法 | |
CN102292712A (zh) | 逻辑地址偏移 | |
US9442834B2 (en) | Data management method, memory controller and memory storage device | |
CN110196684A (zh) | 数据存储装置、其操作方法以及具有其的存储*** | |
CN109144899A (zh) | 用于管理表恢复的方法 | |
KR102578191B1 (ko) | 리커버리 성능이 최적화된 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
CN114746834A (zh) | 基于分区状态的分区附加命令调度 | |
CN109727630A (zh) | 存储***及其操作方法 | |
CN110874335A (zh) | 数据存储装置、其操作方法以及具有该装置的存储*** |
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 |