CN111966614A - 内部通信接口管理 - Google Patents
内部通信接口管理 Download PDFInfo
- Publication number
- CN111966614A CN111966614A CN202010419649.2A CN202010419649A CN111966614A CN 111966614 A CN111966614 A CN 111966614A CN 202010419649 A CN202010419649 A CN 202010419649A CN 111966614 A CN111966614 A CN 111966614A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- storage system
- controller
- interface
- 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
- 230000015654 memory Effects 0.000 claims abstract description 314
- 238000004891 communication Methods 0.000 claims abstract description 66
- 230000005540 biological transmission Effects 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000012546 transfer Methods 0.000 claims description 32
- 238000007906 compression Methods 0.000 claims description 25
- 230000006835 compression Effects 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 description 19
- 239000000758 substrate Substances 0.000 description 14
- 239000004065 semiconductor Substances 0.000 description 13
- 230000003068 static effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000007667 floating Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000003491 array Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000006837 decompression Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 3
- 229920005591 polysilicon Polymers 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000000994 depressogenic effect Effects 0.000 description 2
- 238000005530 etching Methods 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- WGTYBPLFGIVFAS-UHFFFAOYSA-M tetramethylammonium hydroxide Chemical compound [OH-].C[N+](C)(C)C WGTYBPLFGIVFAS-UHFFFAOYSA-M 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- POSWICCRDBKBMH-UHFFFAOYSA-N dihydroisophorone Natural products CC1CC(=O)CC(C)(C)C1 POSWICCRDBKBMH-UHFFFAOYSA-N 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0608—Saving storage space on storage systems
-
- 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
-
- 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/0658—Controller construction arrangements
-
- 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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5671—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
-
- 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/10—Programming or data input circuits
-
- 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/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/102—Compression or decompression of data before storage
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6047—Power optimization with respect to the encoder, decoder, storage or transmission
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开涉及内部通信接口管理。公开设备和方法,包含:使用存储系统接口启用存储器控制器和存储系统的多个存储器装置之间的通信,所述多个存储器装置各自包括装置控制器和一组非易失性存储器单元;以及在经由所述存储系统接口传送之前使用所述装置控制器中的至少一个压缩数据来改进所述存储系统的有效内部数据发射速度。
Description
技术领域
本公开涉及存储系统。
背景技术
存储器装置是为主机系统(例如,计算机或其它电子装置)提供数据的电子存储的半导体电路。存储器装置可为易失性或非易失性的。易失性存储器需要功率来维持数据,并且包含例如随机存取存储器(RAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或同步动态随机存取存储器(SDRAM)等装置。非易失性存储器可以在未供电时保持所存储的数据,并且(尤其)包含例如快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)、电阻可变存储器(例如,相变随机存取存储器(PCRAM))、电阻随机存取存储器(RRAM)或磁阻随机存取存储器(MRAM)等装置。
主机系统通常包含主机处理器、用以支持主机处理器的第一量的主存储器(例如,通常为易失性存储器,例如DRAM),以及作为主存储器的补充或与主存储器分离的提供额外存储装置来保持数据的一或多个存储系统(例如,通常为非易失性存储器,例如快闪存储器)。
例如固态驱动器(SSD)等存储系统可以包含存储器控制器和一或多个存储器装置,包含若干(例如,多个)裸片或逻辑单元(LUN)。在某些实例中,每一裸片可以包含若干存储器阵列和其上的外围电路系统,例如裸片逻辑或裸片处理器。存储器控制器可包含接口电路系统,其被配置成经由通信接口(例如,双向并行或串行通信接口)与主机装置(例如,主机处理器或接口电路系统)通信。存储器控制器可以从主机系统接收与存储器操作或指令相关联的命令或操作,例如在存储器装置与主机装置之间传送数据(例如,用户数据和相关联完整性数据,例如错误数据或地址数据等)的读取或写入操作、从存储器装置擦除数据的擦除操作、执行驱动管理操作(例如,数据迁移、垃圾收集、块注销)等。
软件(例如,程序)、指令、操作系统(OS)和其它数据通常存储在存储系统上且由主存储器存取以供主机处理器使用。与存储系统的大多数存储器装置(例如,非易失性,例如SSD等)相比,主存储器(例如,RAM)通常较快、较昂贵且是不同类型的存储器装置(例如,易失性)。除主存储器外,主机系统还可包含不同层级的易失性存储器,例如静态存储器(例如,高速缓存,通常为SRAM)的群组,其通常比主存储器快,在某些实例中,被配置成以接近或超过主机处理器的速度的速度操作,但具有较低密度和较高成本。
发明内容
在一个方面中,本公开涉及一种存储系统,所述存储系统包括:存储器控制器;多个存储器装置,其各自包括装置控制器和一组非易失性存储器单元;以及存储系统接口,其被配置成启用所述存储器控制器和所述多个存储器装置中的一或多个之间的通信,其中所述装置控制器中的至少一个被配置成在经由所述存储系统接口传送之前压缩数据来改进所述存储系统的有效内部数据发射速度。
在另一方面中,本公开涉及一种改进存储系统的有效内部数据发射速度的方法,所述方法包括:使用存储系统接口启用存储器控制器和多个存储器装置中的一或多个之间的通信,所述多个存储器装置各自包括装置控制器和一组非易失性存储器单元;以及在经由所述存储系统接口传送之前使用所述装置控制器中的至少一个压缩数据来改进所述存储系统的有效内部数据发射速度。
在又一方面中,本公开涉及一种非暂时性装置可读存储介质,其包括指令,所述指令在由存储系统的控制器电路系统执行时致使所述存储系统执行包括以下操作的操作:使用存储系统接口启用存储器控制器和所述存储系统的多个存储器装置中的一或多个之间的通信,所述多个存储器装置各自包括装置控制器和一组非易失性存储器单元;以及在经由所述存储系统接口传送之前使用所述装置控制器中的至少一个压缩数据来改进所述存储系统的有效内部数据发射速度。
在又一方面中,本公开涉及一种存储系统,所述存储系统包括:存储器控制器;多个存储器装置,其各自包括装置控制器和一组非易失性存储器单元;以及存储系统接口,其被配置成启用所述存储器控制器和所述若干存储器装置之间的通信,其中所述存储器控制器被配置成向所述多个存储器装置中的存储器装置的装置控制器提供将数据填补到边界以从所述内部通信接口省略填补位的指示,且其中,响应于所提供的将数据填补到所述边界的指示,所述存储器装置被配置成将数据填补到所述边界。
附图说明
在不一定按比例绘制的图式中,相似标号可以在不同视图中描述类似的组件。具有不同字母后缀的相似标号可表示类似组件的不同例项。图式借助于实例而非限制性地大体示出本文献中所论述的各种实施例。
图1示出包含主机装置和存储系统的实例主机系统。
图2-5示出传送经压缩数据的实例方法。
图6示出3D NAND架构半导体存储器阵列的实例示意图。
图7示出存储器模块的实例框图。
图8示出信息处理系统的实例框图。
具体实施方式
存储系统的大小和复杂性持续增加,常常具有多个存储器装置,每一存储器装置包括与存储系统的存储器控制器分离的装置控制器。个别装置控制器中的每一个可被配置成经由与存储器控制器和主机装置之间的通信接口分离的内部通信接口与存储器控制器通信。
本发明人已经认识到(尤其)用以增加具有多个存储器装置的存储系统中的内部通信接口的有效内部数据发射速度的系统、方法及设备。在某些实例中,例如在具有多个存储器装置的存储系统中,减少内部通信接口(例如,开放式NAND快闪接口(ONFI)总线等)上的业务可比失去多个存储器装置的个别装置控制器上的可用时钟循环更有益。相应地,在某些实例中,所述多个装置控制器中的至少一个可被配置成在经由内部通信接口传送数据之前压缩数据,并非增加存储系统的有效容量或过度设计,而是减少内部通信接口上的业务(例如,比如在由存储器装置感测到的内部通信接口上的业务量为高时,或在经受由存储器装置发送的控制时,等等)、借此与(或不与)增加存储系统的时钟速度或有效容量分离而选择性地增加存储系统(或内部通信接口)的有效内部数据发射速度。
在某些实例中,存储系统可插入填补数据来填充经压缩数据和未经压缩数据之间的差异,使得不会增加存储系统的有效容量。在其它实例中,可忽略经压缩数据和未经压缩数据之间的差异,以便保持存储系统中的空间和对准来选择性地对经压缩数据进行解压缩。
在一实例中,装置控制器可例如在数据单元的元数据中(例如,使用元数据中的旗标等)指示,此类数据经压缩,且必须由存储系统的存储器控制器或由主机装置在使用前解压缩,或在其中主机装置或存储器控制器正将数据单元提供到存储器装置的情形中反之亦然。可使用一或多种不同的数据压缩算法。然而,为了便于存储器中的对准,可使用无损压缩算法(例如,Lempel-Ziv压缩、ZIP等),使得可恢复经压缩数据的所有位,且可确定数据单元的大小,或在其它实例中,可例如在数据单元的元数据中指示未经压缩数据单元的大小。在其它实例中,具有早期中止机制的压缩算法可用于在数据并不兼容(例如,LZ4等)的情况下中止此压缩。
独立于上文或与上文组合,本发明人已经认识到,填补位可从往返于多个存储器装置(例如,在存储器控制器和多个存储器装置之间)的内部通信接口省略。在某些实例中,可设定(例如,由存储器控制器或主机处理器)旗标,且限定边界使得多个存储器装置(例如,多个装置控制器等)可自动(例如,随机,以免字线干扰等)将数据填补到所限定的边界,以便在多个存储器装置中对准数据,而无需经由内部通信接口传送此些填补位。
图1示出包含被配置成经由通信接口(I/F)115(例如,双向并行或串行通信接口)通信的主机装置105和存储系统110的实例系统(例如,主机系统)100。在实例中,通信接口115可称为主机接口。主机装置105可包含主机处理器106(例如,主中央处理单元(CPU)或其它处理器或处理装置)或其它主机电路系统(例如,存储器管理单元(MMU)、接口电路系统等)。在某些实例中,主机装置105可以包含主存储器(MAIN MEM)108(例如,DRAM等)以及任选地静态存储器(STATIC MEM)109,以支持主机处理器(HOST PROC)106的操作。
存储系统110可以包含通用快闪存储(UFS)装置、嵌入式MMC(eMMCTM)装置,或者一或多个其它存储器装置。举例来说,如果存储系统110包含UFS装置,则通信接口115可包含串行双向接口,例如在一或多个联合电子装置工程委员会(JEDEC)标准(例如,JEDEC标准D223D(JESD223D),通常称为JEDEC UFS主机控制器接口(UFSHCI)3.0等)中定义的。在另一实例中,如果存储系统110包含eMMC装置,则通信接口115可包含若干并行双向数据线(例如,DAT[7:0])和一或多个命令线,例如在一或多个JEDEC标准(例如,JEDEC标准D84-B51(JESD84-A51),通常称为JEDEC eMMC标准5.1等)中定义的。在其它实例中,存储系统110可以包含一或多个其它存储器装置,或者通信接口115可以包含一或多个其它接口,这取决于主机装置105和存储系统110。
存储系统110可以包含存储器控制器(MEM CTRL)111和非易失性存储器装置112。在实例中,非易失性存储器装置112可以包含若干非易失性存储器装置(例如,裸片或LUN),例如一或多个堆叠的快闪存储器装置(例如,如非易失性存储器装置112下方的堆叠短划线所示)等,每一非易失性存储器装置包含非易失性存储器(NVM)113(例如,一组或多组非易失性存储器单元)和装置控制器(CTRL)114或其上的其它外围电路系统(例如,装置逻辑等),并且由存储器控制器111经由与通信接口115分离的内部存储系统通信接口116(例如,开放式NAND快闪接口(ONFI)总线等)来控制。在一实例中,存储器控制器111可包含在存储器控制器111内或与存储器控制器111分离的解压缩电路系统117。
快闪存储器装置通常包含单晶体管、浮动栅极(FG)或替换栅极(RG)存储器单元的一或多个群组。两种常见类型的快闪存储器阵列架构包含NAND和NOR架构。存储器阵列的存储器单元通常布置成矩阵。阵列的行中的每一存储器单元的栅极耦合到存取线(例如字线)。在NOR架构中,阵列的列中的每一存储器单元的漏极耦合到数据线(例如,位线)。在NAND架构中,阵列的列中的每一存储器单元的漏极在源极线与位线之间以源极到漏极的方式串联耦合在一起。
NOR、NAND、3D交叉点、HRAM、MRAM或者一或多个其它架构半导体存储器阵列中的每一存储器单元可以个别地或共同地编程为一个或若干编程状态。单层级单元(SLC)可以在两个编程状态(例如,1或0)之一中表示每单元一个数据位。多层级单元(MLC)可以在若干编程状态(例如,2n,其中n为数据的位数目)中表示每单元两个或两个以上数据位。在某些实例中,MLC可以指可在4个编程状态中的一个中存储两个数据位的存储器单元。三层级单元(TLC)可以在8个编程状态中的一个中表示每单元三个数据位。四层级单元(QLC)可以在16个编程状态中的一个中表示每单元四个数据位。在其它实例中,MLC可以指可存储每单元一个以上数据位的任何存储器单元,包含TLC和QLC等。
存储系统110可包含多媒体卡(MMC)固态存储装置(例如,微安全数字(SD)卡等)。MMC装置包含与主机装置105的若干并行接口(例如,8位并行接口),且通常为从主机装置可移除及分离的组件。相比之下,嵌入式MMC(eMMC)装置附接到电路板且被视为主机装置的组件,其读取速度比得上基于串行ATA(SATA)的SSD装置。随着对于移动装置性能的需求持续增加,例如为了完全启用虚拟或扩增现实装置、利用增加的网络速度等,存储系统已在存储系统和主机装置之间从并行通信接口转变到串行通信接口。包含控制器和固件的UFS装置使用具有专用读取/写入路径的低电压差分信令(LVDS)串行接口与主机装置通信,从而进一步改进主机装置与存储系统之间的读取/写入速度。
在三维(3D)架构半导体存储器装置技术中,可以堆叠竖直浮动栅极(FG)或替换栅极(RG)(或电荷捕获)存储结构,从而增加存储器装置中的层次的数目、物理页以及相应的存储器单元的密度。数据通常作为小单元任意存储在存储系统上。即使作为单个单元存取,也可在小的随机4-16k单个文件读取中接收数据(例如,操作的60%-80%小于16k)。用户乃至内核应用很难指示数据应该存储为一个循序的内聚单元。文件系统通常设计成用于优化空间使用,而不是循序检索空间。
存储器控制器111可从主机装置105接收指令,且可与非易失性存储器装置112通信,以便将数据传送到非易失性存储器装置112的存储器单元中的一或多个(例如,写入或擦除)或从非易失性存储器装置112的存储器单元中的一或多个传送数据(例如,读取)。存储器控制器111可包含(尤其)电路系统或固件,例如若干组件或集成电路。举例来说,存储器控制器111可包含一或多个存储器控制单元、电路或组件,其被配置成控制跨存储器阵列的存取且在主机装置105与存储系统100之间提供转译层。
非易失性存储器装置112(例如,3D NAND架构半导体存储器阵列)可包含布置于例如若干装置、平面、块或物理页中的若干存储器单元。作为一个实例,TLC存储器装置可包含每页18,592字节(B)的数据、每块1536页、每平面548个块及每装置4个平面。作为另一实例,MLC存储器装置可包含每页18,592字节(B)的数据、每块1024页、每平面548个块和每装置4个平面,但相比于对应的TLC存储器装置,所需写入时间为一半且编程/擦除(P/E)循环为两倍。其它实例可以包含其它数目或布置。
在操作中,数据通常以页的形式写入到存储系统110或从存储系统110读取,并且以块的形式擦除。然而,可按需要对更大或更小的存储器单元群组执行一或多个存储器操作(例如,读取、写入、擦除等)。例如,可以在数据迁移或垃圾收集期间收集来自卸载单元的标记数据的部分更新,以确保其被有效地重写。存储器装置的数据传送大小通常称为页,而主机装置的数据传送大小通常称为扇区。虽然数据页可包含若干字节的用户数据(例如,包含若干数据扇区的数据有效负载)及其对应的元数据,但页的大小经常仅指代用以存储用户数据的字节的数目。作为一实例,具有4KB的页大小的数据页可包含4KB的用户数据(例如,假定512B的扇区大小的8个扇区)以及对应于用户数据的若干字节(例如32B、54B、224B等)的元数据,例如完整性数据(例如,错误检测或校正代码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其它元数据。
不同类型的存储器单元或存储器阵列可提供不同页大小,或可需要与其相关联的不同量的元数据。举例来说,不同存储器装置类型可具有不同位错误率,其可能导致必需要不同量的元数据来确保数据页的完整性(例如,具有较高位错误率的存储器装置可要求比具有较低位错误率的存储器装置更多字节的错误校正码数据)。作为一实例,MLC NAND快闪装置可比对应的SLC NAND快闪装置具有更高的位错误率。因此,MLC装置可需要比对应的SLC装置更多的用于错误数据的元数据字节。
在实例中,信息块或数据单元中的数据可以在其在存储系统上的整个使用期间以优化的方式进行处理。举例来说,数据在数据迁移(例如,垃圾收集等)期间作为一个单元来管理,使得随着数据移动到存储系统上的其新的物理位置,保留有效的读取/写入性质。在某些实例中,对可配置用于存储、标记等的信息块、数据单元或块的数目的唯一限制是系统的容量。
在一实例中,超块可以指裸片的每一侧上的一个块。如果裸片具有4个平面,则系统具有4个通道。每一通道可包含2个裸片,系统中总共8个裸片。在此实例中,对超块的写入可到达每一平面上的每通道1个裸片。
例如移动电子装置(例如,智能电话、平板电脑、物联网(IOT)装置等)等许多主机系统可表征为重度使用周期(例如,突发),继之以相对非活动周期(常常较长)(例如,5%活动相对于95%非活动、10%活动相对于90%非活动等)。即使在轻度用户活动周期期间,存储系统也可保持闲置(例如,持续数百毫秒)。因为许多存储系统包含强大的存储器控制器来管理所述一或多个存储器装置(例如,600MHz或更大等),所以本发明人已经(尤其)认识到,传统地由主机处理器(例如,中央处理单元(CPU)、应用处理器、管理单元,或主机系统的一或多个其它处理器或电路系统等)执行的数据操作可由存储器控制器执行。在某些实例中,存储器控制器的处理能力可充当用于主机装置的共享处理器池。
本发明人已经(尤其)认识到,传统地由主机处理器执行的数据操作可直接在存储系统中例如使用存储系统的存储器控制器(例如,SSD控制器)执行,例如在非活动或低需求存储装置活动周期中执行。因为主机系统中的大量数据通常驻留在存储系统中,所以在存储器装置上进行操作是最有效的。为了完成数据操作,主机处理器通常将来自存储系统的数据加载到主存储器中,这需要时间、时钟循环、与主存储器(例如,DRAM)相关联的电力,且导致主机装置和存储系统之间的接口业务。
举例来说,将大存储器阵列设定为全零值在由主机处理器执行时可能较昂贵(例如,费时、需要过多电力、时钟信号、活动等)。所要数据必须从存储系统读取,经由总线传送,加载到(例如,主机处理器的)寄存器中,被设定,传送回去,接着被存储。相比而言,主机处理器可将请求通过存储器控制器(例如,SSD控制器等)使范围归零、重写范围、移动范围等的单个指令发送到存储系统。在其它实例中,被配置成卸载主机处理器以用于其它操作的其它更复杂的操作是可能的。举例来说,存储器控制器可将可用操作的列表提供到主机装置。主机装置可接着识别待由存储系统执行的数据操作,从而减少总线业务、改进主机处理器性能,且减少能量使用等。在一实例中,存储系统中的多个存储器装置中的至少一个可在经由内部通信接口传送数据之前压缩相应存储器装置上的数据。
所述概念可应用于具有一或多个专用存储器控制器或处理器来管理存储系统(例如,NVM、SSD、原始NAND等)的任何存储系统。可在运行时由主机处理器(例如,在使用Pearl或python等的可执行代码中)预定义或提交一组操作。实例包含:移动、复制、触发(如果A,则B)、预提取、图案填充、设定位、寻找图案、加密或解密(例如,装置侧)、压缩、解压缩等。可按需要触发存储器控制器以卸载主机处理器,改进装置或处理器性能,减小时延,减少总线业务,或减少移动电子装置的电力使用。
在某些实例中,一旦主机处理器请求,就可执行待由存储器控制器执行的操作。在其它实例中,存储系统可等待直至闲置时间才执行所请求的操作。在其它实例中,存储器控制器可记录所请求的操作且在主机装置请求来自存储系统的数据时在运行中执行动作。举例来说,如果存储器控制器接收对经压缩数据进行解压缩的请求。存储器控制器可存储经压缩副本、执行解压缩、存储解压缩副本,且等待所接收数据的经压缩或解压缩版本的检索。一旦一个从存储器移除,就可擦除另一个。在其它实例中,所接收数据的经压缩版本可存储在存储系统上(例如,为了节省空间),且随后在主机系统请求所接收数据时进行解压缩。
在其它实例中,主机装置可将数据写入到存储系统,且接着稍后请求对所写入数据执行操作。在一实例中,所请求的操作可作为典型的存储器操作被接收,或主机处理器可将模式应用于逻辑块地址(LBA)范围。针对第一LBA范围的写入可与第一操作相关联。针对第二LBA范围的写入可与第二操作相关联。
与此一致,特定装置控制器可执行本文所论述的操作,以减少存储系统的内部通信接口上的业务。
图2示出在将数据传送到存储系统的存储器控制器或传送到主机装置之前压缩存储系统的存储器装置中的数据的实例方法200。在201处,存储系统接口(例如,内部存储系统通信接口116)可启用存储器控制器和存储系统的多个存储器装置中的一或多个之间的通信。相比而言,与存储系统接口(例如,通信接口115)分离的通信接口可启用存储器控制器和主机装置之间的通信。
在某些实例中,主机装置可将命令提供到存储器控制器,且使用通信接口在主机装置和存储系统之间传送与所述命令相关联的数据。存储器控制器可在多个存储器装置之间管理所接收的操作。尽管本文中描述为具有多个存储器装置,但在某些实例中,存储系统可包含由存储器控制器控制的单个存储器装置。
在202处,多个存储器装置中的一或多个处的数据可在经由存储系统接口传送到存储器控制器之前例如使用多个存储器装置中的所述一或多个的装置控制器选择性地压缩以减少存储系统接口上的业务。在某些实例中,装置控制器可以例如在元数据中等方式标记经压缩数据,以指示数据经压缩。在某些实例中,可写入填补位来代替原始数据和经压缩数据之间的差异,以便维持存储器装置上的对准,以及实现与存储器装置或主机装置的稍后对准或兼容性。正如减小经由存储系统接口传送的位数目可能是有益的,在某些实例中,例如如果主机装置或存储器控制器在传送之后不具有空闲时钟循环来对经压缩数据进行解压缩,则选择性地对此类经压缩数据进行解压缩可能是有益的。此类确定可以是易变的,取决于每一装置的使用情况。
在某些实例中,存储器控制器可具有专用电路系统(例如,压缩电路系统),其被配置成在将所接收数据传送到主机装置之前与存储器控制器的其它操作分离地对所接收数据进行解压缩。在其它实例中,存储器控制器或存储器控制器电路系统可除一或多个其它存储器控制器操作外还对此类所接收数据进行解压缩。
图3示出在将数据传送到存储系统的存储器控制器或传送到主机装置之前压缩存储系统的存储器装置中的数据的实例方法300。
在301处,存储器控制器可经由第一接口(例如,通信接口115)从主机装置接收写入命令和与写入命令相关联的数据。在其它实例中,存储器控制器可经由第一接口从主机装置接收一或多个其它命令。
在302处,存储器控制器可经由与第一接口(例如,内部存储系统通信接口116)分离的第二接口将数据提供到存储系统的一组多个存储器装置中的第一存储器装置。存储器控制器可被配置成管理进出多个存储器装置的数据和命令。然而,特定存储器管理(例如,垃圾收集、耗损均衡等)可由多个存储器装置中的每一个的装置控制器执行。在某些实例中,存储器控制器可在具有不压缩所提供数据的命令(例如,具有旗标等)的情况下将数据提供到多个存储器装置中的至少一个。
在303处,存储器控制器可经由第一接口从主机装置接收读取命令,且在304处可经由第二接口将读取命令提供到第一存储器装置。在305处,存储器控制器可经由第二接口从第一存储器装置接收与读取命令相关联的经压缩数据。第一存储器装置可被配置成在第一存储器装置以其它方式闲置的闲置时间期间或在从存储器控制器接收读取命令之后在数据被接收时压缩与读取命令相关联的数据(例如,响应于来自存储器控制器、主机装置等的写入命令)。
在306处,存储器控制器可经由第一接口将与读取命令相关联的数据提供到主机装置。在一实例中,存储器控制器可将与读取命令相关联的经压缩数据提供到主机装置以供主机装置进行解压缩。在此实例中,存储器控制器或第一存储器装置中的一或两者可标记元数据或以其它方式指示数据经压缩。在某些实例中,可标记数据以指示压缩的类型。在其它实例中,存储器控制器或者含于存储器控制器内或耦合到存储器控制器的单独的电路系统(例如,解压缩电路系统117)可在将与读取命令相关联的数据提供到主机装置之前对经压缩数据进行解压缩。在此实例中,第一存储器装置可标记数据以指示压缩或压缩的类型。
图4示出在将数据传送到存储系统的存储器控制器或传送到主机装置之前压缩存储系统的一组多个存储器装置中的第一存储器装置的实例方法400。
在401处,第一存储器装置可经由与存储器控制器和主机装置之间的第一接口分离的第二接口例如从存储器控制器接收写入命令和与写入命令相关联的数据。
在一实例中,与写入命令相关联的数据可能未经压缩。在其它实例中,可根据第一类型的压缩(例如,第一压缩算法等)压缩数据。
在402处,第一存储器装置可存储所接收数据。在403处,第一存储器装置可选择性地压缩所接收数据。在一实例中,所接收数据是未经压缩数据,且第一存储器装置可存储未经压缩数据。在其它实例中,第一存储器装置可将所接收数据的第一副本存储在例如支持第一存储器装置的高速缓存或静态存储器中,接着压缩所接收数据且将经压缩数据存储在第一存储器装置的非易失性存储器中。
在其它实例中,所接收数据是经压缩数据,且第一存储器装置可存储经压缩数据(例如,根据第一类型的压缩等),或取决于压缩的类型或所要压缩(例如,如果经压缩数据未以无损压缩算法压缩,或以非所要压缩算法压缩等),第一存储器装置可对所接收数据进行解压缩,且随后以不同的第二类型的压缩(例如,第二压缩算法等)再压缩所接收数据。
在某些实例中,第一存储器装置可在第一存储器装置接收数据时压缩所接收数据。在其它实例中,第一存储器装置可将所接收的未经压缩数据存储在非易失性存储器中,接着在稍后时间选择性地压缩所接收数据。在一实例中,第一存储器装置可等待直至第一存储器装置的闲置时间才执行压缩(例如,当第一存储器装置不在接收写入数据或提供读取数据、执行垃圾收集或以其它方式提供装置管理等时)。在其它实例中,第一存储器装置可等待直至主机装置或存储器控制器请求所接收数据才压缩所接收数据。在某些实例中,第一存储器装置可保持所接收数据的两个副本,即未经压缩的所接收数据和经压缩的所接收数据,且例如响应于来自存储器控制器的命令或第二接口的状态或第二接口上的业务来选择性地提供经压缩或未经压缩数据中的一个。
在404处,第一存储器装置可对经压缩数据的元数据设定旗标以指示其已经压缩。在某些实例中,第二旗标可指示压缩的类型。在其它实例中,单个旗标可指示压缩和压缩的类型两者。
在405处,第一存储器装置可例如从主机装置或存储器控制器接收读取命令,且经由第二接口提供与读取命令相关联的经压缩数据。在一实例中,如果第一存储器装置尚未压缩与读取命令相关联的数据,则一旦接收读取命令或响应于所接收读取命令其就可执行压缩。
图5示出实例方法500,其包含从通信接口省略填补位,例如从存储系统和主机装置之间的通信接口,或从存储器控制器和存储系统的一组多个存储器装置中的第一存储器装置之间的内部通信接口。
在501处,存储器控制器可确定一或多个填补位以对准第一存储器装置上的数据。对准可取决于(尤其)第一存储器装置上的数据或数据单元的大小或者数据存取单元的大小(例如,页大小、块大小等)。在502处,代替于在用于经由内部通信接口传送到第一存储器装置的数据中插入填补位,为了对准第一存储器装置上的数据,存储器控制器可向第一存储器装置提供将数据填补到边界的指示。第一存储器装置可确定所述边界,且第一存储器装置可响应于所述指示和所述边界在所接收数据上填补位(例如,随机位)。
在其它实例中,第一存储器装置的装置控制器可辨识填补位,且响应于读取命令,提供与此读取命令相关联的数据,但从内部通信接口省略填补位。存储器控制器或主机装置可接收与此读取命令相关联的未填补数据,且在必要时(例如,为了对准等),添加任何所需填补位以供由存储器控制器或主机装置存储。
在其它实例中,主机装置可确定一或多个填补位以对准第一存储器装置上的数据,且代替于在用于经由通信接口或内部通信接口传送到存储系统的数据中插入填补位,主机装置可向存储系统提供将数据填补到边界的指示。
在某些实例中,在第一存储器装置压缩所接收数据之后,第一存储器装置可用填补位代替经压缩数据和未经压缩数据之间的差异,以便维持第一存储器装置上的数据结构。此外,如果第一存储器装置上的经压缩数据稍后被解压缩,则其可在第一存储器装置中被替代以维持第一存储器装置上的原始数据结构,但在某些实例中,处于不同的页、子块、块等上,因为数据通常以页的形式写入或读取且以块的形式被擦除。
图6示出3D NAND架构半导体存储器阵列600的实例示意图,所述3D NAND架构半导体存储器阵列600包含组织成块(例如,块A 601A、块B 601B等)和子块(例如,子块A0 601A0、子块An 601An、子块B0 601B0、子块Bn 601Bn等)的若干存储器单元串(例如,第一-第三A0存储器串605A0-607A0、第一-第三An存储器串605An-607An、第一-第三B0存储器串605B0-607B0、第一-第三Bn存储器串605Bn-607Bn等)。存储器阵列600表示在存储器装置的块、装置或其它单元中通常将找到的较大数目的相似结构的一部分。
每一存储器单元串包含在源极线(SRC)635或源极侧选择栅极(SGS)(例如第一-第三A0 SGS 631A0-633A0、第一-第三An SGS 631An-633An、第一-第三B0 SGS 631B0-633B0、第一-第三Bn SGS 631Bn-633Bn等)和漏极侧选择栅极(SGD)(例如第一-第三A0 SGD 626A0-628A0、第一-第三An SGD 626An-628An、第一-第三B0 SGD 626B0-628B0、第一-第三Bn SGD626Bn-628Bn等)之间以源极到漏极的方式在Z方向中堆叠的电荷存储晶体管(例如,浮动栅极、替换栅极、电荷捕集结构等)的若干层次。3D存储器阵列中的每一存储器单元串可沿着X方向布置为数据线(例如,位线(BL)BL0-BL6 620-622),且沿着Y方向布置为物理页。
在物理页内,每一层次表示一行存储器单元,且每一存储器单元串表示一列。子块可包含一或多个物理页。块可以包含若干子块(或物理页)(例如,128个、256个、384个等)。尽管本文中说明为具有两个块,每一块具有两个子块,每一子块具有单个物理页,每一物理页具有三个存储器单元串,且每一串具有8层存储器单元,但在其它实例中,存储器阵列600可包含更多或更少的块、子块、物理页、存储器单元串、存储器单元或层次。举例来说,按需要,每一存储器单元串可包含更多或更少的层次(例如,16个、32个、64个、128个等),以及电荷存储晶体管(例如,选择栅极、数据线等)上方或下方的半导体材料的一或多个额外层次。作为一实例,48GB TLC NAND存储器装置可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1536页、每平面548个块,及每装置4个或更多个平面。
存储器阵列600中的每一存储器单元包含耦合到(例如,电连接或以其它方式操作地连接到)存取线(例如,字线(WL)WL00-WL70 610A-617A、WL01-WL71 610B-617B等)的控制栅极(CG),所述存取线按需要跨特定层次或层次的一部分共同地耦合控制栅极(CG)。可以使用相应存取线来存取或控制3D存储器阵列中的特定层次且因此串中的特定存储器单元。可以使用各种选择线来存取选择栅极的群组。举例来说,第一-第三A0 SGD 626A0-628A0可使用A0 SGD线SGDA0 625A0存取,第一-第三An SGD 626An-628An可使用An SGD线SGDAn 625An存取,第一-第三B0 SGD 626B0-628B0可使用B0 SGD线SGDB0 625B0存取,且第一-第三Bn SGD626Bn-628Bn可使用Bn SGD线SGDBn 625Bn存取。第一-第三A0 SGS 631A0-633A0和第一-第三An SGS 631An-633An可使用栅极选择线SGS0 630A存取,且第一-第三B0 SGS 631B0-633B0和第一-第三Bn SGS 631Bn-633Bn可使用栅极选择线SGS1 630B存取。
在实例中,存储器阵列600可包含若干层级的半导体材料(例如,多晶硅等),其被配置成耦合阵列的相应层次的每一存储器单元的控制栅极(CG)或选择栅极(或者CG或选择栅极的一部分)。可使用位线(BL)和选择栅极等的组合来存取、选择或控制阵列中的特定存储器单元串,且可使用一或多个存取线(例如,字线)来存取、选择或控制特定串中的一或多个层次处的特定存储器单元。
在NAND架构半导体存储器阵列中,可以通过感测与含有所选存储器单元的特定数据线相关联的电流或电压变化来存取所选存储器单元的状态。存储器阵列600可使用一或多个驱动器来存取(例如,由控制电路、一或多个处理器、数字逻辑等)。在一实例中,一或多个驱动器可通过将特定电位驱动到一或多个数据线(例如,位线BL0-BL2)、存取线(例如,字线WL0-WL7)或选择栅极来激活特定存储器单元或特定组的存储器单元,这取决于需要在特定存储器单元或特定组的存储器单元上执行的操作的类型。
为了将数据编程或写入到存储器单元,可以将编程电压(Vpgm)(例如,一或多个编程脉冲等)施加到选定字线(例如,WL40),并且因此施加到耦合到选定字线的每一存储器单元的控制栅极。编程脉冲可例如在15V处或附近开始,且在某些实例中,可在每一编程脉冲施加期间增加量值。当将编程电压施加到选定字线时,例如接地电位(例如,Vss)等电位可施加到数据线(例如,位线)和作为编程的目标的存储器单元的衬底(以及因此,源极和漏极之间的通道),从而导致从所述通道到目标存储器单元的浮动栅极的电荷转移(例如,直接注入或佛勒-诺特海姆(Fowler-Nordheim,FN)隧穿等)。
相比而言,可将传递电压(Vpass)施加到具有并非作为编程的目标的存储器单元的一或多个字线,或可将抑制电压(例如,Vcc)施加到具有并非作为编程的目标的存储器单元的数据线(例如,位线),使得例如抑制电荷从通道传送到此类非目标存储器单元的浮动栅极。传递电压可以取决于例如施加的传递电压与作为编程的目标的字线的接近度而可变。抑制电压可包含相对于接地电位(例如,Vss)的供应电压(Vcc),例如来自外部源或供应(例如,电池、AC到DC转换器等)的电压。
作为实例,如果将编程电压(例如,15V或更高)施加到特定字线(例如WL40),则可以将10V的传递电压施加到一或多个其它字线(例如WL30、WL50等),以抑制非目标存储器单元的编程,或者保持存储在此类并非作为编程的目标的存储器单元上的值。随着所施加编程电压与非目标存储器单元之间的距离增大,制止对非目标存储器单元进行编程所需的传递电压可减小。例如,在将15V的编程电压施加到WL40的情况下,可以将10V的传递电压施加到WL30和WL50,可以将8V的传递电压施加到WL20和WL60,可以将7V的传递电压施加到WL10和WL70等。在其它实例中,传递电压或字线的数目等可更高或更低,或者更大或更小。
感测放大器可以耦合到数据线中的一或多个(例如,第一、第二或第三位线(BL0-BL2)620-622),可以通过感测特定数据线上的电压或电流而检测相应数据线中的每一存储器单元的状态。
在一或多个编程脉冲(例如,Vpgm)的施加之间,可执行验证操作以确定所选存储器单元是否已达到其既定编程状态。如果所选存储器单元已达到其既定编程状态,则可以抑制其进一步编程。如果所选存储器单元尚未达到其既定编程状态,则可施加额外编程脉冲。如果选定存储器单元在特定数目的编程脉冲(例如,最大数目)之后尚未达到其既定编程状态,那么可以将选定存储器单元或与此类选定存储器单元相关联的串、块或页标记为有缺陷的。
为了擦除存储器单元或存储器单元群组(例如,擦除通常以块或子块执行),可(例如,使用一或多个位线、选择栅极等)将擦除电压(Vers)(例如,通常Vpgm)施加到作为擦除的目标的存储器单元的衬底(及因此源极和漏极之间的通道),同时目标存储器单元的字线保持在例如接地电位(例如,Vss)等电位,从而导致从目标存储器单元的浮动栅极到所述通道的电荷转移(例如,直接注入或佛勒-诺德海姆(FN)隧穿等)。
图7示出存储器装置700的实例框图,所述存储器装置包含具有多个存储器单元704的存储器阵列702,以及提供与存储器阵列702的通信或在存储器阵列702上执行一或多个存储器操作的一或多个电路或组件。尽管展示为具有单个存储器阵列702,但在其它实例中,本文中可包含一或多个额外存储器阵列、裸片或LUN。在某些实例中,在具有若干裸片或LUN的存储系统中,存储器装置700可以表示用于每一裸片或LUN的电路和组件的框图。存储器装置700可包含行解码器712、列解码器714、感测放大器720、页缓冲器722、选择器724、输入/输出(I/O)电路726,以及存储器控制单元730。
存储器阵列702的存储器单元704可布置成块,例如第一和第二块702A、702B。每一块可包含子块。举例来说,第一块702A可包含第一和第二子块702A0、702An,并且第二块702B可包含第一和第二子块702B0、702Bn。每一子块可以包含若干物理页,每一页包含若干存储器单元704。虽然本文中示出为具有两个块,每一块具有两个子块,且每一子块具有若干存储器单元704,但在其它实例中,存储器阵列702可包含更多或更少的块、子块、存储器单元等。在其它实例中,存储器单元704可按若干行、列、页、子块、块等布置,且使用例如存取线706、第一数据线710或者一或多个选择栅极、源极线等存取。
存储器控制单元730可根据控制线732上接收的一或多个信号或指令控制存储器装置700的存储器操作,所述一或多个信号或指令包含例如指示所要操作(例如,写入、读取、擦除等)的一或多个时钟信号或控制信号,或者一或多个地址线716上接收的地址信号(A0-AX)。在存储器装置700外部的一或多个装置可控制控制线732上的控制信号或地址线716上的地址信号的值。在存储器装置700外部的装置的实例可包含(但不限于)主机、存储器控制器、处理器或图7中未示出的一或多个电路或组件。
存储器装置700可使用存取线706和第一数据线710将数据传送到存储器单元704中的一或多个(例如,写入或擦除)或从存储器单元704中的一或多个传送数据(例如,读取)。行解码器712和列解码器714可接收和解码来自地址线716的地址信号(A0-AX),可确定哪些存储器单元704待存取,且可将信号提供到存取线706(例如,多个字线(WL0-WLm)中的一或多个)或第一数据线710(例如,多个位线(BL0-BLn)中的一或多个)中的一或多个,例如上文所描述。
存储器装置700可包含感测电路,例如感测放大器720,其被配置成确定存储器单元704上的数据的值(例如,读取),或确定待使用第一数据线710写入到存储器单元704的数据的值。举例来说,在存储器单元704的选定串中,感测放大器720中的一或多个可响应于存储器阵列702中流动的读取电流穿过选定串到达数据线710而读取选定存储器单元704中的逻辑电平。
存储器装置700外部的一或多个装置可使用I/O线(DQ0-DQN)708、地址线716(A0-AX)或控制线732与存储器装置700通信。输入/输出(I/O)电路726可使用I/O线708根据例如控制线732和地址线716传送进出存储器装置700(例如,进出页缓冲器722或存储器阵列702)的数据的值。页缓冲器722可在将数据编程到存储器阵列702的相关部分中之前存储从存储器装置700外部的所述一或多个装置接收的数据,或可在将数据发射到存储器装置700外部的所述一或多个装置之前存储从存储器阵列702读取的数据。
列解码器714可以接收地址信号(A0-AX)并将其解码为一或多个列选择信号(CSEL1-CSELn)。选择器724(例如,选择电路)可以接收列选择信号(CSEL1-CSELn),并且在页缓冲器722中选择表示要从存储器单元704读取或要编程到存储器单元704中的数据的值的数据。可以使用第二数据线718在页缓冲器722与I/O电路726之间传送选定数据。
存储器控制单元730可从外部源或供应(例如,内部或外部电池、AC到DC转换器等)接收例如供应电压(Vcc)734和负供应(Vss)736(例如,接地电位)等正和负供应信号。在某些实例中,存储器控制单元730可以包含调节器728以在内部提供正或负供应信号。
图8示出可在上面执行本文所论述的技术(例如,方法)中的任一或多种的实例机器(例如,主机系统)800的框图。在替代实施例中,机器800可以充当独立的装置或可以连接(例如,联网)到其它机器。在联网部署中,机器800可在服务器-客户端网络环境中以服务器机器、客户端机器或两者的能力操作。在实例中,机器800可充当对等(P2P)(或其它分布式)网络环境中的对等机器。机器800可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、IoT装置、汽车系统,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令的任何机器。另外,虽然仅说明单个机器,但术语“机器”也将视为包含个别地或共同地执行一(或多个)指令集以执行本文中所论述的方法中的任何一或多种(例如云计算、软件即服务(SaaS)、其它计算机集群配置)的任何机器总集。
如本文所描述,实例可包含逻辑、组件、装置、封装或机构,或者可通过逻辑、组件、装置、封装或机构操作。电路系统是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路的总集(例如,集合)。电路系统成员可随时间推移和基础硬件变化而为灵活的。电路系统包含在操作时可单独或组合地执行特定任务的部件。在实例中,电路系统的硬件可被永恒地设计成实行特定操作(例如,硬接线)。在实例中,电路系统的硬件可以包含可变连接的物理组件(例如,执行单元、晶体管、简单电路等),包含物理上经修改(例如,以磁性方式、以电学方式、恒定集结粒子的可移动放置等)以编码特定操作的指令的计算机可读介质。在连接物理组件时,硬件构成的基础电特性例如从绝缘体改变成导体或反之亦然。指令使得参与的硬件(例如,执行单元或加载机制)能够经由可变连接产生硬件中的电路系统部件以当在操作中时实行特定任务的部分。因此,当装置操作时计算机可读介质以通信方式耦合到电路系统的其它组件。在一实例中,物理组件中的任一个可用于超过一个电路系统的超过一个部件中。例如,在操作下,执行单元可在一个时间点处用于第一电路系统的第一电路,并且由第一电路系统中的第二电路再使用,或在不同时间处由第二电路系统中的第三电路再使用。
机器(例如,计算机系统、主机系统等)800可包含处理装置802(例如,硬件处理器、中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心,或其任何组合等)、主存储器804(例如,只读存储器(ROM)、动态随机存取存储器(DRAM),比如同步DRAM(SDRAM)或RambusDRAM(RDRAM)等)、静态存储器806(例如,静态随机存取存储器(SRAM)等),以及存储系统818,其中的一些或全部可经由通信接口(例如,总线)830彼此通信。
处理装置802可以表示一或多个通用处理装置,例如微处理器、中央处理单元等。更特定来说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置802也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置802可被配置成执行用于执行本文中所论述的操作和步骤的指令826。计算机系统800可进一步包含用以经由网络820通信的网络接口装置808。
存储系统818可以包含机器可读存储介质(也称为计算机可读介质),其上存储有一或多个指令集826或体现本文中所描述的任何一或多种方法或功能的软件。指令826还可在由计算机系统800执行期间完全或至少部分地驻留在主存储器804内或处理装置802内,主存储器804和处理装置802也构成机器可读存储介质。
术语“机器可读存储介质”应被认为包含存储所述一或多个指令集的单个介质或多个介质,或能够存储或编码指令集以供机器执行并且使机器执行本公开的任何一或多种方法的任何介质。因此,应认为术语“机器可读存储介质”包含(但不限于)固态存储器、光学介质以及磁性介质。在一实例中,集结的机器可读介质包括具有多个粒子的机器可读介质,所述粒子具有不变(例如,静止)质量。因此,集结的机器可读介质是非暂时性传播信号。集结的机器可读介质的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和快闪存储器装置;磁盘,例如内部硬盘和可移式盘;磁光盘;以及CD-ROM和DVD-ROM盘。
机器800可进一步包含显示单元、文数字输入装置(例如,键盘)和用户接口(UI)导航装置(例如,鼠标)。在实例中,显示单元、输入装置或UI导航装置中的一或多个可以是触摸屏显示器。机器800可包含信号生成装置(例如,扬声器)或者一或多个传感器,例如全球定位系统(GPS)传感器、指南针、加速度计或者一或多个其它传感器。机器800可包含输出控制器,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。
指令826(例如,软件、程序、操作系统(OS)等)或其它数据存储在存储系统818上,可由主存储器804存取以供处理装置802使用。主存储器804(例如,DRAM)通常是快速但易失性的。且因此是与适于长期存储(包含在处于“关断”条件中时)的存储系统818(例如,SSD)不同类型的存储装置。指令826或由用户或机器800在使用中的数据通常加载于主存储器804中以供处理装置802使用,当主存储器804已满时,可分配来自存储系统818的虚拟空间来补充主存储器804;然而,因为存储系统818装置通常比主存储器804慢,且写入速度通常比读取速度慢至少两倍,所以归因于存储系统时延(与例如DRAM等主存储器804相比),虚拟存储器的使用可能极大地削弱用户体验。此外,将存储系统818用于虚拟存储器可能极大地缩短存储系统818的可用寿命。
指令824可使用发射介质经由网络接口装置808利用若干传送协议(例如,帧中继、因特网协议(IP)、发射控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)中的任一个在网络820上进一步发射或接收。实例通信网络可包含局域网(LAN)、广域网(WAN)、包数据网络(例如因特网)、移动电话网络(例如蜂窝网络)、简易老式电话(POTS)网络和无线数据网络(例如称为的电气电子工程师学会(IEEE)802.11系列标准、称为的IEEE 802.16系列标准)、IEEE 802.15.4系列标准、对等式(P2P)网络等等。在实例中,网络接口装置808可包含一或多个物理插孔(例如,以太网、同轴或电话插孔)或者一或多个天线以连接到通信网络820。在实例中,网络接口装置808可以包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一种进行无线通信。术语“发射介质”应被认为包含能够存储、编码或携载指令以由机器800执行的任何无形介质,且包含数字或模拟通信信号或其它无形介质以有助于此类软件的通信。
以上详细描述包含对附图的参考,附图形成详细描述的一部分。图式借助于说明展示可实践本发明的特定实施例。这些实施例在本文中也称为“实例”。此类实例可包含除了所展示或描述的那些要素之外的要素。然而,本发明人还预期其中仅提供所展示或所描述的那些元件的实例。此外,本发明人还预期使用相对于特定实例(或其一或多个方面)或相对于本文展示或描述的其它实例(或其一或多个方面)展示或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
在此文献中参考的所有公开案、专利和专利文献以全文引用的方式并入本文中,就如同以引用的方式分别地并入一般。在本文献与以引用方式并入的那些文献之间发生用法不一致的情况下,所并入的参考文献中的用法应被视为补充本文献的用法;对于不可调和的不一致,本文献中的用法起主导作用。
在本文献中,如专利文献中所常见而使用术语“一”以包含一个或多于一个,其独立于“至少一个”或“一或多个”的任何其它例项或使用。在本文献中,除非另有指示,否则术语“或”用于指非排他性或,使得“A或B”包含“A而非B”,“B而非A”,以及“A和B”。在所附权利要求书中,术语“包含(including)”及“其中(in which)”用作相应术语“包括(comprising)”及“其中(wherein)”的简洁英文等效术语。此外,在所附权利要求书中,术语“包含”和“包括”是开放的,也就是说,包含除了权利要求中列在这种术语之后的那些要素之外的要素的系统、装置、物件或过程仍被认为处于该权利要求的范围内。此外,在所附权利要求书中,术语“第一”、“第二”和“第三”等仅用作标记,且并不希望对其对象强加数值要求。
在不同实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可(尤其)包含存储于物理装置上的物理电路系统或固件。如本文中所使用,“处理器”意指任何类型的计算电路,例如(但不限于)微处理器、微控制器、图形处理器、数字信号处理器(DSP)或任何其它类型的处理器或处理电路,包含处理器或多核心装置的群组。
如在本文献中所使用的术语“水平”被定义为平行于例如下伏于晶片或裸片的衬底的常规平面或表面的平面,而不管在任一时间点所述衬底的实际定向如何。术语“竖直”指代垂直于如上文所定义的水平的方向。例如“上”、“之上”和“之下”等介词是关于常规平面或表面在衬底的顶部或暴露表面上而定义,而无论衬底的定向如何;且同时“上”希望表明一个结构相对于该结构位于其“上”的另一结构的直接接触(在未明确指示相反情况时);术语“之上”和“之下”明确地希望指明结构(或层、特征等)的相对放置,其明确地包含--但不限于--所识别结构之间的直接接触,除非特定地如此指示。类似地,术语“上方”和“下面”并不限于水平定向,因为如果一结构在某个时间点是所论述的构造的最外部分,那么即使此类结构相对于参考结构竖直地延伸而不是在水平定向上延伸,此结构也可在参考结构“上方”。
术语“晶片”和“衬底”在本文中用于大体上指代上面形成集成电路的任何结构,并且还指代在集成电路制造的各个阶段期间的此类结构。因此,以下详细描述不应以限制性意义来理解,并且各种实施例的范围仅由所附权利要求书连同所述权利要求书授权的等效物的完整范围定义。
根据本公开且在本文中描述的各种实施例包含利用存储器单元的竖直结构(例如,存储器单元的NAND串)的存储器。如本文中所使用,将采用相对于其上形成存储器单元的衬底的表面的方向性形容词(即,竖直结构将视为远离衬底表面延伸,竖直结构的底端将视为最接近衬底表面的端部,且竖直结构的顶端将视为最远离衬底表面的端部)。
如本文中所使用,例如水平、竖直、正交、平行、垂直等方向性形容词可指相对定向,并且除非另外指出,否则并不希望需要严格遵守特定几何性质。举例来说,如本文中所使用,竖直结构不必严格地垂直于衬底的表面,而是可替代地大体上垂直于衬底的表面,并且可与衬底的表面形成锐角(例如在60度与120度之间等)。
在本文中所描述的一些实施例中,不同掺杂配置可应用于选择栅极源极(SGS)、控制栅极(CG)和选择栅极漏极(SGD),在此实例中,其中的每一个可由多晶硅形成或至少包含多晶硅,结果使得这些层次(例如,多晶硅等)在暴露于刻蚀溶液时可具有不同蚀刻速率。举例来说,在3D半导体装置中形成单体柱的过程中,SGS和CG可形成凹陷,而SGD可保持较少凹陷或甚至不凹陷。这些掺杂配置可因此通过使用蚀刻溶液(例如,四甲基铵氢氧化物(TMCH))来实现选择性蚀刻到3D半导体装置中的不同层次(例如,SGS、CG和SGD)中。
如本文所使用,操作存储器单元包含从存储器单元读取、对存储器单元写入或擦除存储器单元。使存储器单元置于既定状态中的操作在本文中称为“编程”,且可以包含对存储器单元写入或从存储器单元擦除两者(即,存储器单元可经编程为擦除状态)。
根据本公开的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设定、调整、计算、改变、清除、传送、调适、导出、限定、利用、修改、施加等)一定数量的损耗循环或损耗状态(例如,记录损耗循环、在存储器装置的操作发生时对存储器装置的操作进行计数、跟踪其起始的存储器装置的操作、评估对应于损耗状态的存储器装置特性等)。
根据本公开的一或多个实施例,存储器存取装置可被配置成通过每一存储器操作将损耗循环信息提供到存储器装置。存储器装置控制电路系统(例如,控制逻辑)可经编程以补偿对应于损耗循环信息的存储器装置性能改变。存储器装置可接收损耗循环信息并且响应于损耗循环信息而确定一或多个操作参数(例如,值、特性)。
将理解,当一元件被称作“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,其可直接在另一元件上、与另一元件直接连接或耦合,或可存在介入元件。相比之下,当一元件被称作“直接在另一元件上”、“直接连接到另一元件”或“直接耦合到另一元件”时,不存在介入的元件或层。如果两个元件在图式中展示为被线连接,那么除非另外指明,否则所述两个元件可耦合或直接耦合。
本文所描述的方法实例可至少部分地由机器或计算机实施。一些实例可包含编码有指令的计算机可读介质或机器可读介质,所述指令可操作以配置电子装置来执行如在以上实例中所描述的方法。这类方法的实施方案可包含代码,例如微码、汇编语言代码、高级语言代码等。这类代码可包含用于执行各种方法的计算机可读指令。代码可以形成计算机程序产品的一部分。此外,代码可例如在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读介质上。这些有形计算机可读介质的实例可包含(但不限于)硬盘、可移式磁盘、可移式光盘(例如,压缩光盘和数字视频磁盘)、盒式磁带、存储卡或棒、随机存取存储器(RAM)、只读存储器(ROM)等。
在实例1中,主题(例如,一种系统)可包括存储器控制器;多个存储器装置,其各自包括装置控制器和一组非易失性存储器单元;以及存储系统接口,其被配置成启用所述存储器控制器和所述多个存储器装置中的一或多个之间的通信,其中所述装置控制器中的至少一个被配置成在经由所述存储系统接口传送之前压缩数据来改进所述存储系统的有效内部数据发射速度。
在实例2中,实例1的主题可任选地被配置成使得所述多个存储器装置包括第一和第二存储器装置,所述第一存储器装置包括第一装置控制器,且所述第二存储器装置包括第二装置控制器,所述第一装置控制器被配置成在经由所述存储系统接口传送之前压缩数据来改进所述存储系统的所述有效内部数据发射速度,且所述第一存储器装置被配置成经由所述存储系统接口传送所述经压缩数据。
在实例3中,实例1-2中的任何一或多个的主题可任选地被配置成使得所述第一存储器装置进一步被配置成从所述存储器控制器接收数据,压缩所接收数据,存储经压缩数据,且对所述经压缩数据设定旗标以指示压缩,所述存储系统被配置成接收针对所述所接收数据的读取命令,且所述第一存储器装置被配置成响应于所接收的读取命令将所述经压缩数据提供到所述存储器控制器。
在实例4中,实例1-3中的任何一或多个的主题可任选地包括主机装置,其包括主机处理器和一组易失性存储器单元;以及主机接口,其与所述存储系统接口分离且被配置成启用所述存储器控制器和所述主机装置之间的通信。
在实例5中,实例1-4中的任何一或多个的主题可任选地被配置成使得所述存储器控制器被配置成经由主机接口从主机装置接收读取命令,从所述第一存储器装置接收与所述读取命令相关联的经压缩数据,且在经由所述主机接口传送到所述主机装置之前对所述经压缩数据进行解压缩。
在实例6中,实例1-5中的任何一或多个的主题可任选地被配置成使得所述装置控制器被配置成在经由所述存储系统接口传送之前选择性地压缩数据来改进所述存储系统接口的所述有效内部数据发射速度。
在实例7中,实例1-6中的任何一或多个的主题可任选地被配置成使得装置控制器被配置成在经由所述存储系统接口传送之前选择性地压缩数据来与增加所述存储系统的时钟速度分离地改进所述存储系统的所述有效内部数据发射速度。
在实例8中,实例1-7中的任何一或多个的主题可任选地被配置成包括所述装置控制器被配置成在经由所述存储系统接口传送之前选择性地压缩数据来与增加所述存储系统的有效容量分离地改进所述存储系统的所述有效内部数据发射速度。
在实例9中,实例1-8中的任何一或多个的主题可任选地被配置成使得所述存储器控制器被配置成向所述多个存储器装置的第一存储器装置的第一装置控制器提供将数据填补到边界以从所述存储系统接口省略填补位的指示;且响应于将数据填补到所述边界的所提供的指示,所述第一存储器装置被配置成将数据填补到所述边界。
在实例10中,主题(例如,一种改进存储系统的有效内部数据发射速度的方法)可包括使用存储系统接口启用存储器控制器和多个存储器装置中的一或多个之间的通信,所述多个存储器装置各自包括装置控制器和一组非易失性存储器单元;以及使用所述装置控制器中的至少一个在经由所述存储系统接口传送之前压缩数据来改进所述存储系统的有效内部数据发射速度。
在实例11中,实例10的主题可任选地被配置成使得所述多个存储器装置包括第一存储器装置,所述第一存储器装置包括第一装置控制器,其中压缩数据包括使用所述第一装置控制器压缩数据,其中所述方法包括:使用所述第一存储器装置经由所述存储系统接口传送经压缩数据。
在实例12中,实例10-11中的任何一或多个的主题可任选地包括:在所述第一存储器装置处接收来自所述存储器控制器的数据;在所述第一存储器装置处压缩所接收数据;在所述第一存储器装置处存储经压缩数据;在所述第一存储器装置处对所述经压缩数据设定旗标以指示压缩;在所述第一存储器装置处接收读取命令;以及响应于所接收的读取命令将所述经压缩数据从所述第一存储器装置提供到所述存储器控制器。
在实例13中,实例10-12中的任何一或多个的主题可任选地包括:从主机装置接收读取命令;从所述第一存储器装置接收与所述读取命令相关联的经压缩数据;以及在经由与所述存储系统接口分离的主机接口传送到所述主机装置之前对所接收的经压缩数据进行解压缩。
在实例14中,实例10-13中的任何一或多个的主题可任选地被配置成使得压缩数据包括在经由所述存储系统接口传送之前选择性地压缩数据来与增加所述存储系统的时钟速度或有效容量分离地改进所述存储系统的所述有效内部数据发射速度。
在实例15中,实例10-14中的任何一或多个的主题可任选地被配置成使得经由与所述存储系统接口分离的主机接口启用所述存储器控制器和主机装置之间的通信。
在实例16中,根据实例10-15中的任何一或多个的主题可任选地包括使用所述存储器控制器将将数据填补到边界以从所述存储系统接口省略填补位的指示提供到所述多个存储器装置的第一存储器装置的第一装置控制器;以及响应于所提供的将数据填补到所述边界的指示在所述第一存储器装置中将数据填补到所述边界。
在实例17中,主题(例如,一种非暂时性装置可读存储介质)可包括指令,所述指令当由存储系统的控制器电路系统执行时致使所述存储系统执行包含以下操作的操作:使用存储系统接口启用存储器控制器和所述存储系统的多个存储器装置中的一或多个之间的通信,所述多个存储器装置各自包括装置控制器和一组非易失性存储器单元;以及使用所述装置控制器中的至少一个在经由所述存储系统接口传送之前压缩数据来改进所述存储系统的有效内部数据发射速度。
在实例18中,实例17的主题可任选地被配置成使得所述多个存储器装置包括第一存储器装置,所述第一存储器装置包括第一装置控制器,其中在经由所述存储系统接口传送之前压缩数据的操作包括使用所述第一装置控制器在经由所述存储系统接口传送之前压缩数据,且其中所述操作进一步包括使用所述第一存储器装置经由所述存储系统接口传送经压缩数据。
在实例19中,实例17-18中的任何一或多个的主题可任选地被配置成使得在经由所述存储系统接口传送之前压缩数据的所述操作包括在经由所述存储系统接口传送之前选择性地压缩数据来改进所述存储系统的所述有效内部数据发射速度。
在实例20中,实例18-19中的任何一或多个的主题可任选地被配置成使得所述操作包括:使用所述存储器控制器将将数据填补到边界以从所述存储系统接口省略填补位的指示提供到所述多个存储器装置的第一存储器装置的第一装置控制器;以及响应于所提供的将数据填补到所述边界的指示在所述第一存储器装置中将数据填补到所述边界。
在实例21中,主题(例如,一种存储系统)可包括存储器控制器;多个存储器装置,其各自包括装置控制器和一组非易失性存储器单元;以及存储系统接口,其被配置成启用所述存储器控制器和所述若干存储器装置之间的通信,其中所述存储器控制器被配置成向所述多个存储器装置中的存储器装置的装置控制器提供将数据填补到边界以从所述内部通信接口省略填补位的指示,且其中,响应于所提供的将数据填补到所述边界的指示,所述存储器装置被配置成将数据填补到所述边界。
在实例22中,主题(例如,一种系统或设备)可任选地组合实例1-21中的任何一或多个的任何部分或任何部分的组合以包括用于执行实例1-21的功能或方法中的任何一或多个的任何部分的“构件”,或至少一个包含指令的“非暂时性机器可读介质”,所述指令在由机器执行时致使所述机器执行实例1-21的功能或方法中的任何一或多个的任何部分。
以上描述既定为说明性的而非限制性的。举例来说,上文所描述的实例(或其一或多个方面)可以彼此组合使用。例如所属领域的一般技术人员在查阅以上描述后可使用其它实施例。提供摘要以符合37C.F.R.§1.72(b),从而允许读者快速确定技术公开的性质。应理解,其将不会用于解释或限制权利要求书的范围或含义。另外,在以上具体实施方式中,可将各种特征分组在一起以简化本公开。不应将此解释为希望未要求保护的所公开特征对任何权利要求来说是必需的。实际上,本发明主题可在于特定所公开实施例的不足所有特征。因此,特此将所附权利要求书并入到具体实施方式中,其中每一权利要求作为单独实施例而独立存在,且预期这些实施例可以各种组合或排列的形式彼此组合。本发明的范围应该通过参考所附权利要求书以及所述权利要求书所授予的等效物的完整范围来确定。
Claims (21)
1.一种存储系统,其包括:
存储器控制器;
多个存储器装置,其各自包括装置控制器和一组非易失性存储器单元;以及
存储系统接口,其被配置成启用所述存储器控制器和所述多个存储器装置中的一或多个之间的通信,
其中所述装置控制器中的至少一个被配置成在经由所述存储系统接口传送之前压缩数据来改进所述存储系统的有效内部数据发射速度。
2.根据权利要求1所述的存储系统,其中所述多个存储器装置包括第一和第二存储器装置,
其中所述第一存储器装置包括第一装置控制器,且所述第二存储器装置包括第二装置控制器,
其中所述第一装置控制器被配置成在经由所述存储系统接口传送之前压缩数据来改进所述存储系统的所述有效内部数据发射速度,且
其中所述第一存储器装置被配置成经由所述存储系统接口传送经压缩数据。
3.根据权利要求2所述的存储系统,其中所述第一存储器装置进一步被配置成接收来自所述存储器控制器的数据,压缩所接收数据,存储经压缩数据,且对所述经压缩数据设定旗标以指示压缩,
其中所述存储系统被配置成接收针对所述所接收数据的读取命令,且
其中所述第一存储器装置被配置成响应于所接收的读取命令将所述经压缩数据提供到所述存储器控制器。
4.根据权利要求3所述的存储系统,其包括:
主机装置,其包括主机处理器和一组易失性存储器单元;以及
主机接口,其与所述存储系统接口分离,且被配置成启用所述存储器控制器和所述主机装置之间的通信。
5.根据权利要求3所述的存储系统,其中所述存储器控制器被配置成经由主机接口从主机装置接收读取命令,从所述第一存储器装置接收与所述读取命令相关联的经压缩数据,且在经由所述主机接口传送到所述主机装置之前对所述经压缩数据进行解压缩。
6.根据权利要求1所述的存储系统,其中所述装置控制器被配置成在经由所述存储系统接口传送之前选择性地压缩数据来改进所述存储系统接口的所述有效内部数据发射速度。
7.根据权利要求1所述的存储系统,其中装置控制器被配置成在经由所述存储系统接口传送之前选择性地压缩数据来与增加所述存储系统的时钟速度分离地改进所述存储系统的所述有效内部数据发射速度。
8.根据权利要求1所述的存储系统,其中所述装置控制器被配置成在经由所述存储系统接口传送之前选择性地压缩数据来与增加所述存储系统的有效容量分离地改进所述存储系统的所述有效内部数据发射速度。
9.根据权利要求1所述的存储系统,其中所述存储器控制器被配置成向所述多个存储器装置的第一存储器装置的第一装置控制器提供将数据填补到边界以从所述存储系统接口省略填补位的指示,且
其中,响应于所提供的将数据填补到所述边界的指示,所述第一存储器装置被配置成将数据填补到所述边界。
10.一种改进存储系统的有效内部数据发射速度的方法,其包括:
使用存储系统接口启用存储器控制器和多个存储器装置中的一或多个之间的通信,所述多个存储器装置各自包括装置控制器和一组非易失性存储器单元;以及
在经由所述存储系统接口传送之前使用所述装置控制器中的至少一个压缩数据来改进所述存储系统的有效内部数据发射速度。
11.根据权利要求10所述的方法,其中所述多个存储器装置包括第一存储器装置,所述第一存储器装置包括第一装置控制器,
其中压缩数据包括使用所述第一装置控制器压缩数据,
其中所述方法包括:
经由所述存储系统接口使用所述第一存储器装置传送经压缩数据。
12.根据权利要求11所述的方法,其包括:
在所述第一存储器装置处接收来自所述存储器控制器的数据;
在所述第一存储器装置处压缩所接收数据;
在所述第一存储器装置处存储经压缩数据;
在所述第一存储器装置处对所述经压缩数据设定旗标以指示压缩;
在所述第一存储器装置处接收读取命令;以及
响应于所接收的读取命令将所述经压缩数据从所述第一存储器装置提供到所述存储器控制器。
13.根据权利要求12所述的方法,其包括:
从主机装置接收读取命令;
从所述第一存储器装置接收与所述读取命令相关联的经压缩数据;以及
在经由与所述存储系统接口分离的主机接口传送到所述主机装置之前对所接收的经压缩数据进行解压缩。
14.根据权利要求10所述的方法,其中压缩数据包括在经由所述存储系统接口传送之前选择性地压缩数据来与增加所述存储系统的时钟速度或有效容量分离地改进所述存储系统的所述有效内部数据发射速度。
15.根据权利要求10所述的方法,其包括:
经由与所述存储系统接口分离的主机接口启用所述存储器控制器和主机装置之间的通信。
16.根据权利要求10所述的方法,其包括:
使用所述存储器控制器将将数据填补到边界以从所述存储系统接口省略填补位的指示提供到所述多个存储器装置的第一存储器装置的第一装置控制器;以及
响应于所提供的将数据填补到所述边界的指示在所述第一存储器装置中将数据填补到所述边界。
17.一种非暂时性装置可读存储介质,其包括指令,所述指令在由存储系统的控制器电路系统执行时致使所述存储系统执行包括以下操作的操作:
使用存储系统接口启用存储器控制器和所述存储系统的多个存储器装置中的一或多个之间的通信,所述多个存储器装置各自包括装置控制器和一组非易失性存储器单元;以及
在经由所述存储系统接口传送之前使用所述装置控制器中的至少一个压缩数据来改进所述存储系统的有效内部数据发射速度。
18.根据权利要求17所述的非暂时性装置可读存储介质,其中所述多个存储器装置包括第一存储器装置,所述第一存储器装置包括第一装置控制器,
其中在经由所述存储系统接口传送之前压缩数据的操作包括在经由所述存储系统接口传送之前使用所述第一装置控制器压缩数据,且
其中所述操作进一步包括经由所述存储系统接口使用所述第一存储器装置传送经压缩数据。
19.根据权利要求17所述的非暂时性装置可读存储介质,其中在经由所述存储系统接口传送之前压缩数据的所述操作包括在经由所述存储系统接口传送之前选择性地压缩数据来改进所述存储系统的所述有效内部数据发射速度。
20.根据权利要求17所述的非暂时性装置可读存储介质,其中所述操作包括:
使用所述存储器控制器将将数据填补到边界以从所述存储系统接口省略填补位的指示提供到所述多个存储器装置的第一存储器装置的第一装置控制器;以及
响应于所提供的将数据填补到所述边界的指示在所述第一存储器装置中将数据填补到所述边界。
21.一种存储系统,其包括:
存储器控制器;
多个存储器装置,其各自包括装置控制器和一组非易失性存储器单元;以及
存储系统接口,其被配置成启用所述存储器控制器和所述若干存储器装置之间的通信,
其中所述存储器控制器被配置成向所述多个存储器装置中的存储器装置的装置控制器提供将数据填补到边界以从所述内部通信接口省略填补位的指示,且
其中,响应于所提供的将数据填补到所述边界的指示,所述存储器装置被配置成将数据填补到所述边界。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/417,029 US11061612B2 (en) | 2019-05-20 | 2019-05-20 | Internal communication interface management |
US16/417,029 | 2019-05-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111966614A true CN111966614A (zh) | 2020-11-20 |
CN111966614B CN111966614B (zh) | 2024-06-11 |
Family
ID=73358020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010419649.2A Active CN111966614B (zh) | 2019-05-20 | 2020-05-18 | 内部通信接口管理 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11061612B2 (zh) |
CN (1) | CN111966614B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11922060B2 (en) | 2019-05-20 | 2024-03-05 | Micron Technology, Inc. | Internal communication interface management |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220269437A1 (en) * | 2021-02-19 | 2022-08-25 | Western Digital Technologies, Inc. | Data Storage Device and Method for Predetermined Transformations for Faster Retrieval |
US20220414014A1 (en) * | 2021-06-24 | 2022-12-29 | Intel Corporation | Technology for early abort of compression acceleration |
EP4180970A1 (en) * | 2021-11-15 | 2023-05-17 | Samsung Electronics Co., Ltd. | Storage device operating in zone unit and data processing system including the same |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6883079B1 (en) * | 2000-09-01 | 2005-04-19 | Maxtor Corporation | Method and apparatus for using data compression as a means of increasing buffer bandwidth |
US7394410B1 (en) * | 2004-02-13 | 2008-07-01 | Samplify Systems, Inc. | Enhanced data converters using compression and decompression |
US20120324150A1 (en) * | 2009-07-29 | 2012-12-20 | Stec, Inc. | System and method of recovering data in a flash storage system |
CN103631728A (zh) * | 2012-08-27 | 2014-03-12 | 苹果公司 | 使用自适应压缩比率快速执行刷新命令 |
CN104583977A (zh) * | 2012-08-23 | 2015-04-29 | 苹果公司 | 主机辅助的存储块的压缩 |
US20150169443A1 (en) * | 2013-12-12 | 2015-06-18 | Samsung Electronics Co., Ltd. | Non-volatile memory system, mobile apparatus including the same, and method of operating the non-volatile memory system |
US20150242122A1 (en) * | 2014-02-21 | 2015-08-27 | Phison Electronics Corp. | Method for wrtiting data, memory storage device and memory control circuit unit |
US20150378613A1 (en) * | 2013-05-17 | 2015-12-31 | Hitachi, Ltd. | Storage device |
CN107870740A (zh) * | 2016-09-28 | 2018-04-03 | 爱思开海力士有限公司 | 用于控制存储器的设备和方法 |
US20180095674A1 (en) * | 2016-09-30 | 2018-04-05 | Intel Corporation | Selective data compression/decompression for intermemory transfer interface |
CN109697025A (zh) * | 2017-10-20 | 2019-04-30 | 株式会社日立制作所 | 存储装置、数据管理方法和数据管理程序的存储介质 |
CN109753463A (zh) * | 2017-11-08 | 2019-05-14 | 爱思开海力士有限公司 | 控制器及其操作方法和存储系统及其操作方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4159415B2 (ja) | 2002-08-23 | 2008-10-01 | エルピーダメモリ株式会社 | メモリモジュール及びメモリシステム |
US8140744B2 (en) * | 2004-07-01 | 2012-03-20 | Seagate Technology Llc | Method and system for increasing data storage reliability and efficiency via compression |
US8281056B2 (en) * | 2008-07-31 | 2012-10-02 | Chevron U.S.A. Inc. | System and method of processing data on a peripheral device configured to communicate with a host computing system over a peripheral BUS |
CN103620690A (zh) * | 2011-04-29 | 2014-03-05 | Lsi公司 | 加密传输固态盘控制器 |
JP2015201057A (ja) * | 2014-04-09 | 2015-11-12 | 富士通株式会社 | 制御装置、再圧縮制御方法、及びプログラム |
US10318301B2 (en) | 2017-08-31 | 2019-06-11 | Micron Technology, Inc. | Managed multiple die memory QoS |
US11061612B2 (en) | 2019-05-20 | 2021-07-13 | Micron Technology, Inc. | Internal communication interface management |
-
2019
- 2019-05-20 US US16/417,029 patent/US11061612B2/en active Active
-
2020
- 2020-05-18 CN CN202010419649.2A patent/CN111966614B/zh active Active
-
2021
- 2021-07-12 US US17/373,239 patent/US11922060B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6883079B1 (en) * | 2000-09-01 | 2005-04-19 | Maxtor Corporation | Method and apparatus for using data compression as a means of increasing buffer bandwidth |
US7394410B1 (en) * | 2004-02-13 | 2008-07-01 | Samplify Systems, Inc. | Enhanced data converters using compression and decompression |
US20120324150A1 (en) * | 2009-07-29 | 2012-12-20 | Stec, Inc. | System and method of recovering data in a flash storage system |
CN104583977A (zh) * | 2012-08-23 | 2015-04-29 | 苹果公司 | 主机辅助的存储块的压缩 |
CN103631728A (zh) * | 2012-08-27 | 2014-03-12 | 苹果公司 | 使用自适应压缩比率快速执行刷新命令 |
US20150378613A1 (en) * | 2013-05-17 | 2015-12-31 | Hitachi, Ltd. | Storage device |
US20150169443A1 (en) * | 2013-12-12 | 2015-06-18 | Samsung Electronics Co., Ltd. | Non-volatile memory system, mobile apparatus including the same, and method of operating the non-volatile memory system |
US20150242122A1 (en) * | 2014-02-21 | 2015-08-27 | Phison Electronics Corp. | Method for wrtiting data, memory storage device and memory control circuit unit |
CN107870740A (zh) * | 2016-09-28 | 2018-04-03 | 爱思开海力士有限公司 | 用于控制存储器的设备和方法 |
US20180095674A1 (en) * | 2016-09-30 | 2018-04-05 | Intel Corporation | Selective data compression/decompression for intermemory transfer interface |
CN109697025A (zh) * | 2017-10-20 | 2019-04-30 | 株式会社日立制作所 | 存储装置、数据管理方法和数据管理程序的存储介质 |
CN109753463A (zh) * | 2017-11-08 | 2019-05-14 | 爱思开海力士有限公司 | 控制器及其操作方法和存储系统及其操作方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11922060B2 (en) | 2019-05-20 | 2024-03-05 | Micron Technology, Inc. | Internal communication interface management |
Also Published As
Publication number | Publication date |
---|---|
CN111966614B (zh) | 2024-06-11 |
US11922060B2 (en) | 2024-03-05 |
US20200371709A1 (en) | 2020-11-26 |
US11061612B2 (en) | 2021-07-13 |
US20210342099A1 (en) | 2021-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11487652B2 (en) | Host logical-to-physical information refresh | |
US11720489B2 (en) | Scheme to improve efficiency of device garbage collection in memory devices | |
US11735269B2 (en) | Secure erase for data corruption | |
US10409726B2 (en) | Dynamic L2P cache | |
CN111758091A (zh) | 单电平单元高速缓存管理 | |
CN113396383B (zh) | 存储装置中顺序数据优化的子区域 | |
US12118248B2 (en) | Managed NAND data compression | |
CN111966614B (zh) | 内部通信接口管理 | |
CN113439266B (zh) | 使用行程长度编码算法的映射表压缩 | |
CN111736759B (zh) | 安全数据移除 | |
CN112041931A (zh) | 跟踪逻辑块地址的数据温度 | |
CN111381778A (zh) | 从异步功率损耗中恢复存储器 | |
CN114365097A (zh) | 受管理存储器系统中的写入缓冲器控制 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |