CN101036132B - 环形总线结构及其在快闪存储器系统中的使用 - Google Patents

环形总线结构及其在快闪存储器系统中的使用 Download PDF

Info

Publication number
CN101036132B
CN101036132B CN2005800318174A CN200580031817A CN101036132B CN 101036132 B CN101036132 B CN 101036132B CN 2005800318174 A CN2005800318174 A CN 2005800318174A CN 200580031817 A CN200580031817 A CN 200580031817A CN 101036132 B CN101036132 B CN 101036132B
Authority
CN
China
Prior art keywords
data
node
bus
ring
chip
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.)
Expired - Fee Related
Application number
CN2005800318174A
Other languages
English (en)
Other versions
CN101036132A (zh
Inventor
艾伦·韦尔什·辛克莱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Technologies LLC
Original Assignee
SanDisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of CN101036132A publication Critical patent/CN101036132A/zh
Application granted granted Critical
Publication of CN101036132B publication Critical patent/CN101036132B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Read Only Memory (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种系统和所述系统中使用的集成电路芯片利用环形式的总线来使个别组件的节点互连以便在其间转移数据和命令。所描述的示范性系统是具有一个或一个以上可再编程非易失性存储器单元阵列的存储器,其中所述可再编程非易失性存储器单元阵列通过环状总线彼此连接且连接到系统控制器。

Description

环形总线结构及其在快闪存储器系统中的使用
技术领域
本发明大体上涉及总线结构及其在电子系统中在所述系统的组件之间进行通信的操作,且更具体来说涉及尤其在快闪存储器系统中用以完成此操作的环形总线的使用。
背景技术
如今正使用许多商业上成功的尤其是以较小形状因数卡形式的可再编程非易失性存储器产品,其采用形成于一个或一个以上集成电路芯片上的快闪EEPROM(电可擦可编程只读存储器)单元阵列。通常存在但不一定处于单独集成电路芯片上的存储器控制器与主机(卡可去除地与其连接)介接,且控制卡内存储器阵列的操作。这种控制器通常包括微处理器、某些非易失性只读存储器(ROM)、易失性随机存取存储器(RAM)和一个或一个以上特定电路,所述特定电路例如为当数据在编程和读取期间通过控制器时根据所述数据计算错误校正码(ECC)的电路。
一些利用快闪存储器的市售卡为CompactFlashTM(CF)卡、多媒体卡(MMC)、安全数字(SD)卡、迷你SD卡、智能媒体卡、xD图片卡、TransFlash卡和记忆棒卡。主机包括个人计算机、笔记本计算机、个人数字助理(PDA)、各种数据通信装置、数码相机、蜂窝式电话、便携式音频播放器、汽车音响系统和类似类型的设备。许多主机具有一个或一个以上插槽以接收商业存储卡类型中的一个或一个以上卡,且/或可通过通用串行总线(USB)插座或类似物连接到读卡器。USB快闪驱动器也是可用的,其直接插入主机的USB插座以将主机连接到驱动器内的存储器。除了存储卡和快闪驱动器实施方案之外,或可将快闪存储器系统嵌入各种类型的主机系统至。这些和额外的快闪存储器产品可从本专利申请案的受让人SanDisk Corporation购得。
商业上主要实施两种普通的存储器单元阵列结构,NOR和NAND。在典型的NOR阵列中,存储器单元连接于在列方向上延伸的相邻的位线源极与漏极扩散区之间,其中控制栅极连接到沿着单元的行延伸的字线。存储器单元包括定位在源极与漏极之间的单元沟道区的至少一部分上方的至少一个存储元件。因此所述存储元件上的电荷的编程电平控制单元的工作特性,其随后可通过向经定址的存储器单元施加适当电压来读取。在第5,070,032、5,095,344、5,313,421、5,315,541、5,343,063、5,661,053和6,222,762号美国专利中给出这些单元、其在存储器系统中的使用及其制造方法的实例。
NAND阵列利用与各位线与参考电位之间的一个或一个以上选择晶体管共同连接的两个以上存储器单元(例如16或32)的串联串来形成单元的列。字线延伸越过大量的这些列中的单元。列内的各单元是通过促使串中剩余单元硬件接通以使得流过串的电流取决于定址单元中存储的电荷的电平,而在编程期间读取和验证的。在第5,570,315、5,774,397、6,046,935、6,522,580号美国专利和第2003/014278号美国专利申请案公开案中可找到NAND架构阵列及其作为存储器系统的一部分的操作的实例。
如上文引用的专利中讨论的当前快闪EEPROM阵列的电荷存储元件是最常见的导电浮动栅极.可用于快闪EEPROM系统的替代类型的存储器单元利用非导电介电材料代替导电浮动栅极来以非易失性方式存储电荷.Harari等人在第2003/0109093号美国专利申请案公开案中描述了采用介电存储元件的若干特定单元结构和阵列.
在大多数全部集成电路应用中,关于快闪存储器单元阵列还存在将实施某种集成电路功能所需的硅衬底区域缩小的压力。不断地期望增加在硅衬底的给定区域中可存储的数字数据的量,以便增加给定大小的存储卡和其它类型封装的存储容量,或既增加容量又减小大小。增加数据存储密度的一种方式是每个存储器单元和/或每个存储单位或元件存储一位以上的数据。这是通过将存储元件电荷电平电压范围的窗划分为两个以上状态来实现的。使用四个这种状态允许每一单元存储两位数据,八个状态每存储元件存储三位数据,依此类推。在第5,043,940和5,172,338号美国专利中描述使用浮动栅极的多状态快闪EEPROM结构及其操作,且在前述第2003/0109093号美国专利申请案公开案中描述使用介电浮动栅极的结构。多状态存储器单元阵列的选定部分也可以第5,930,167和6,456,528号美国专利中描述的方式出于各种原因而以两种状态(二进制)操作。
在再编程之前擦除快闪存储器单元。将典型快闪存储器单元阵列的存储器单元划分为共同擦除的离散单元块。也就是说,块是擦除单位,即同时可擦除的最少数目的单元。每一块通常存储一页或一页以上数据,页是编程和读取的最小单位,尽管在存储器单元的不同子阵列或平面中可并行编程或读取一个以上页。每一页通常存储一个或一个以上数据扇区,扇区的大小由主机系统界定。实例扇区包括512字节的用户数据(遵循用磁盘驱动器确立的标准),加上某一数目的字节的关于用户数据和/或存储用户数据的块的开销信息。这些存储器通常在每一块内配置有16、32或更多页,且每一页存储一个或一个以上主机数据扇区。
为了增加将用户数据编程到存储器阵列中与从其中读取用户数据的并行度,通常将阵列划分成若干子阵列(通常称为平面),其含有其自身的数据寄存器和其它电路以允许并行操作,使得可同时地将数据扇区编程到若干或所有平面中的每一者或从所述每一者中读取数据扇区。可将单个集成电路上的阵列在物理上划分成若干平面,或每一平面可由分离的一个或一个以上集成电路芯片形成。第5,798,968和5,890,192号美国专利中描述了这种存储器实施方案的实例。
为了进一步有效管理存储器,可将块链接在一起而形成虚拟块或元块(metablock)。也就是说,将每一元块定义成包括来自若干或所有平面中每一者的一个块。第2002/0099904号美国专利申请案公开案中描述了元块的使用。由主机逻辑块地址将元块识别为编程和读取数据的目的地。类似地,通常一起擦除元块的所有块。
以这些大的块和/或元块进行操作的存储器系统中的控制器执行由主机对其施加的且用于维持有效操作的许多功能。执行重复的数据合并(“垃圾收集”)以便有效利用存储器的存储容量。控制器在执行垃圾收集时通常中止其将数据转入和转出存储器的主要功能,因此潜在不利地影响系统性能。第6,266,273号美国专利中揭示了存储器阵列芯片本身上数据的某种受限的复制。
典型的快闪存储器系统包括各含有存储器单元阵列及相关外围电路的一个或一个以上集成电路芯片,和含有控制器的另一集成电路芯片.对于某些应用,控制器和存储器阵列包括在单个芯片上.在任一情况下,经由所有存储器系统组件可操作地与其连接的共用双向系统总线,在控制器与一个或一个以上快闪存储器单元阵列、子阵列、平面或集成电路芯片之间传送数据、地址、命令和状态信息.
发明内容
快闪存储器系统的操作速度受这种总线的使用的限制。由于单个总线太长,因此系统操作频率受往返行程延迟和总线中固有的大电容性负载的限制。在总线上可能仅在控制器与快闪存储器芯片中的一者之间存在通信。当总线忙于在系统的某些位置之间传输一个单位的数据时,系统中没有其它组件可使用总线进行数据转移。数据通常不是在存储器单元的独立单位之间(即,独立阵列、子阵列、平面或芯片之间)直接转移。而是,这些数据转移通常包括通过共用总线将数据传递到控制器以便临时存储在缓冲存储器中作为转移的一部分。
因此,在本文描述的对常规总线的改进中,存储器系统的控制器和所有的存储器单元阵列、子阵列、平面和集成电路芯片通过各自的总线接口电路(节点)而彼此连接成回路或环。环状总线在节点之间的段是被单独驱动的,从而显著减少了每一驱动段的电容量,且因此增加了可允许的总线操作频率。数据可在存储器单元阵列、子阵列、平面与芯片之间以及在其中任一者与控制器之间直接传送。但被传送的数据不需要一定首先通过控制器。总线优选形成闭合回路,且数据、命令和状态信息围绕所述回路在单个方向上转移。数据优选完全围绕环转移到其发起的节点,在该点处可视需要检查数据在转移之后的有效性。本文描述的环状总线可代替在例如上文背景技术中描述的现有存储器系统中使用的常规总线。
在优选实施方案中,单个主节点(通常为系统控制器的节点)控制通过环状总线连接的所有其它节点的操作。由控制器发出的特定命令通过附加的节点地址被定址到一个或一个以上节点,所述节点地址促使命令仅受经定址节点的作用。例如初始化和配置命令的全局命令由所有节点接受。在数据围绕总线在节点之间转移之前,节点经设置以适应特定转移。举例来说,如果数据将从一个存储器单位(例如芯片、子阵列或平面)转移到另一个存储器单位,那么数据从源单位被读取到连接到其节点的寄存器,且目的地节点经配置以接收数据。接着后续的转移命令促使计划中的转移在已由命令调节的源节点与目的地节点之间进行。此系统和操作的优点是实现这些在存储器单位之间以及在存储器单位与控制器节点之间直接转移数据的能力。
可包括在环状总线操作中的另一特征是时分多路复用。也就是说,数据在分配的时槽或帧中围绕总线转移。因此可同时转移多个数据帧。所采用的时槽的数目优选被动态调节为等于同时转移的数据帧的数目。数据帧不需要都具有围绕环的相同的源节点或目的地节点。然后与总线节点连接的存储器系统组件的数据带宽要求不需要与总线一样高,因为数据是以其个别帧速率转移到特定组件或从特定组件转移,所述个别帧速率是环状总线的数据传输速率的分数。在特定实例中,围绕总线传输用于设置节点以便进行数据转移的命令,其中没有时分多路复用但附有期望节点的地址。接着通过使用多个时槽而进行计划中的数据转移。状态信息也可通过使用时槽之一而围绕总线传送。
作为其它特征,通过使从存储器读取的数据通过通常由控制器提供的错误校正功能可容易地检查所述数据的完整性,最方便的是通过专用于执行错误校正码(ECC)的电路进行检查.如果如优选那样完全围绕环转移数据,那么数据将总是通过控制器节点,无论源节点和目的地节点相对于控制器的节点位于何处.发起数据转移的节点视需要还可验证在与所述节点放置在总线上的数据一起围绕总线行进之后接收到的数据,以便确保数据不会被传输破坏.
作为另一特征,控制器的各种功能和组件也可通过节点个别地连接到系统环状总线,其中包括处理器、缓冲存储器和ECC电路。因此进一步增加了节点对节点的命令和数据转移的灵活性和并行度。也可包括常规控制器总线以便当未涉及存储器系统的其它组件时为了其有效操作而在控制器组件之间直接转移命令和数据。
为了向现有的常规控制器提供向后兼容性,存储器单元阵列集成电路芯片可具有用于与常规总线连接的接口,当使用适合于使用环状总线的控制器时上述环状总线也可通过所述接口而连接。这种双模式总线接口允许快闪存储器芯片用于具有任一类型控制器的存储器系统。
在集成电路存储器芯片的一个实施方案中,一个或一个以上存储器数据节点串联连接在外部输入与输出总线接点之间。一个或一个以上存储器芯片接着通过将其总线接点连接在一起以将其连接成闭合回路而与控制器芯片串联连接。多个存储器芯片与连接到存储器芯片中另一芯片的总线输入的一个芯片的总线输出连接。为了能通过使用单个印刷电路板(PCB)方便地制造具有不同数目存储器芯片的存储卡,个别存储器芯片可具备两组总线输出垫,一个用于与串联存储器芯片中的下一个芯片连接,且另一个用于连接到返回控制器芯片的总线路径。附接到PCB的每一存储器芯片的总线返回输出垫接着连接到PCB上单独一组导体,所述组导体提供到控制器的返回总线路径以用于从一到某个最大数目中任一数目的存储器芯片。返回总线输出垫接着在存储器芯片串联中的最末芯片中被启用以与PCB上的返回路径导体可操作地连接,而所有其它存储器芯片的返回总线输出垫被禁用。确切地说,其它存储器芯片使其输出与存储器芯片中另一者的总线输入连接,以形成存储器芯片的串联连接和环状总线。
本发明的额外方面、优点和特征包括在以下本发明的示范性实例的描述中,将结合附图进行描述。本发明的各种方面可在多种类型的需要高频率总线来在其组件之间转移数据的存储器系统中实施,本文描述仅在一种类型的快闪存储器系统中的实施方案以说明本发明。另外,本发明的许多方面和特征可与其它类型的利用内部总线的电子系统中的类似优点一起实施。
本文引用的所有专利、专利申请案、文章和其它类型的公开案通用地以全文引用的方式并入本文。
附图说明
图1是利用常规总线架构的典型现有快闪存储器系统的方框示意图;
图2是利用环状总线架构的快闪存储器系统的第一实施例的方框示意图;
图3A、3B和3C是说明图2系统的环状总线的时分多路复用操作的不同方面的时序图;
图4是图2系统的环状总线数据接口块的电路示意图;
图5是图2系统的环状总线命令接口块的电路示意图;
图6A-6I展示八种不同的命令和一个替代方案,以及说明其在图2的环状总线系统中的使用;
图7是说明通过使用图6A-6I的命令对图2的环状总线系统进行操作的流程图;
图8说明图2系统中特定数据转移的实例;
图9列出用以实行图8中说明的示范性数据转移的在图6A-6I中识别的命令的序列;
图10是利用环状总线结构的快闪存储器系统的第二实施例的方框示意图;
图11是利用环状总线结构的快闪存储器系统的第三实施例的方框示意图;
图12是利用环状总线结构的快闪存储器系统的第四实施例的方框示意图;
图13是利用环状总线结构的快闪存储器系统的第五实施例的方框示意图;
图14是利用环状总线结构的快闪存储器系统的第六实施例的方框示意图;和
图15是利用环状总线结构的快闪存储器系统的第七实施例的方框示意图。
具体实施方式
常规总线系统的背景描述
参看图1,说明具有常规总线的典型快闪存储器系统以提供本发明的各种方面与特征的后续描述的背景。系统控制器通常实施在单个集成电路芯片11上,集成电路芯片11经由系统总线13与一个或一个以上集成电路存储器芯片(图1展示单个的这种存储器芯片15)并联连接。所说明的特定总线13包括载运数据的单独的一组导体17、用于存储器地址的一组导体19和用于控制和状态信号的一组导体21。或者,可在这三种功能之间时间共享单个一组导体。
典型的控制器芯片11具有其自身的内部常规总线23,其通过接口电路25与系统总线13介接。通常连接到总线的主要功能是处理器27(例如微处理器或微控制器)、含有用于初始化(“引导”)系统的代码的只读存储器(ROM)29、主要用于缓冲在存储器与主机之间转移的数据的只读存储器(RAM)31、和针对通过存储器与主机之间的控制器的数据来计算和检查错误校正码(ECC)的电路33。控制器总线23通过电路35与主机系统介接,这在图1的系统包含在存储卡中的情况下是通过卡的外部接点37而完成的。时钟39与控制器11的其它组件中的每一者连接且由其利用。
存储器芯片15以及与系统总线13连接的任何其它元件通常含有组织成多个子阵列或平面的存储器单元阵列,出于简明目的而说明两个这种平面41和43,但四个或八个这种平面是更典型的。或者,存储器芯片15可包括未被划分成平面的存储器单元阵列。然而当如此划分时,每一平面均具有其自身的彼此独立操作的列控制电路45和47。电路45和47从系统总线13的地址部分19接收其各自存储器单元阵列的地址,并对其进行解码以对各自位线49和51中的特定一者或一者以上进行定址。平面41和43具有共用字线53,其响应于在地址总线19上接收到的地址通过行控制电路55进行定址。存储器单元阵列41和43的NAND结构是当前优选的。如同p阱电压控制电路61和63,源极电压控制电路57和59也与各自平面连接。
数据通过与系统总线13的数据部分17连接的自各数据输入/输出电路65和67而转移入和转移出平面41和43.电路65和67通过经由各自列控制电路45和47连接到平面的线69和71来实现将数据编程到其各自平面的存储器单元中和从其各自平面的存储器单元中读取数据.
尽管控制器11控制存储器芯片15编程数据、读取数据、擦除和照管各种内务事务的操作,但每一存储器芯片还含有执行来自控制器11的命令以执行所述功能的某种控制电路。接口电路73连接到系统总线13的控制与状态部分21。将来自控制器的命令提供到状态机75,状态机75接着提供其它电路的特定控制以便执行这些命令。控制线77-81将状态机75与图1所示的这些其它电路连接。将来自状态机75的状态信息经由线83传送到接口73,以便经由总线部分21传输到控制器11。
从图1的存储器系统可见,控制器芯片11与存储器芯片15的各个部分之间的通信取决于控制器和存储器芯片并联连接到的单个系统总线13上的通信的限制。
示范性环状总线实施例的详细描述
图2-9中说明使用环状总线代替上述常规总线15的存储器系统的第一实施例。最初参看图2,控制器集成电路芯片101和单个存储器芯片103形成存储器系统,但也可包括额外的存储器芯片。存储器芯片103说明为具有四个存储器单元平面105-108,但作为替代,使可用更少、甚至一个或四个以上存储器平面。列控制电路110-113连接到各自的平面105到108。通过选择两个数据寄存器A或B中的一者的各自的多路复用电路115-118,将数据编程到存储器平面105-108中和从其中读取数据。在数据编程期间,特定平面的由其多路复用器选择的寄存器A或B中的一者中所存储的数据被编程到所述平面中。类似地,在数据读取期间,从平面读取的数据被写入到由其多路复用器选择的寄存器A或B中的一者中。使用这两个寄存器是不需要的,可替代使用单个寄存器,但其增加了存储器系统的操作中的灵活和并行程度。命令与控制电路121提供类似于图1系统的状态机75和控制电路中各种控制电路的功能。
在图2的实例中,存储器阵列平面105-108中的每一者通过环状总线接口节点123-126中的各自一者来传送从平面中读取的或将编程到平面中的数据。每一平面的数据寄存器A和B中的两者与用于所述平面的节点连接。来自控制器101的命令由环状总线接口节点127接收,且状态信号通过同一节点被发送回控制器。节点127与存储器集成电路芯片103的控制电路121连接。如果额外的存储器芯片包括在系统中(图2中未图示),那么在此特定实例中每一者将具有其自身的命令接口节点。
类似地,控制器芯片101包括与控制器130连接的环状总线节点128。图2的控制器130可类似于图1的控制器11,不同之处在于节点接口128(图2)代替了存储器接口25。
节点123-128在回路中连接在一起以便在其之间转移数据、地址、命令和状态信息。所述回路由具有载运数据的一条线133和载运来自控制器130的命令的另一条线135的环状总线形成。或者,在环状总线中可使用两条或两条以上数据线和/或可包括两条或两条以上命令线,以便增加信息转移带宽,但这样做的代价是更复杂的总线节点电路和操作。另一条线137可包括在总线中以将时钟信号载运到节点。或者,如果针对数据线133上和命令线135上的信息采用自定时格式,那么可省略时钟线。
操作图2的系统以管线方式在环状总线上转移数据和命令,其中在每一节点处优选引入一个或仅数个时钟周期的延迟.数据线133、命令线135和时钟线137跟随集成电路芯片101和103上以及在其之间的同样的路径,且在每一节点中引入相同的延迟以在所述三条线中发信号.仅沿着总线在相邻节点之间的段点对点地转移信息,而不是如常规总线那样在整个总线上转移信息,从而使环状总线的极高频率的操作成为可能.总线上的信号可完全为数字的,其中其幅值由可用电源电压设定.然而,可通过替代利用适当的高速信令技术,例如低压摆幅信令(swing signaling)、全差分信令、伪差分信令、双数据率或电流型驱动器的使用,来实现较高的操作频率和降低的功率耗散。
优选的是命令仅在控制器节点128中发起,这使其成为环状总线上的单个主体。命令代码在命令线135上从控制器节点128传送,以供其它节点123-127中的一个或一个以上节点执行。当仅单个节点作为用于执行命令的目标时,在数据线133上同时传输节点的相应的识别代码。目标节点随后为接受待执行的命令的唯一节点。
在数据线133上转移的数据可在节点123-128(源节点)中的任一者中发起,且被引导到其它节点(目的地节点)中的任何一个或一个以上节点。在这种数据转移之前,源节点和目的地节点经配置以用于此数据转移。接着围绕环状总线发生数据转移。转移的数据优选围绕整个环状总线行进并返回发起节点。这确保转移的数据可由经配置以进行读取的其它节点中的任一者读取,所述其它节点例如为通过使用ECC来检查数据有效性的节点。这还使得发起节点可例如通过与初始传输的数据进行比较或使用冗余奇偶位来检查所接收的数据是否在围绕环状总线传输期间发生错误。
在大多数情况下优选的图2的系统的一个特定操作中,利用时分多路复用以帧或时槽在数据线133上围绕环状总线传输数据。这允许围绕环状总线并行转移两个或两个以上不同通道的数据,例如不同的数据扇区,其可能具有不同的源节点和/或目的地节点。用于每次数据转移的时槽的数目经选择以适应将发生的并行数据转移的数目。这充分利用环状总线的带宽,同时允许各自节点的某些功能以较少的带宽操作,以及存储器数据编程和写入电路与各自的节点连接。
参看图3A的时序图,说明三个通道0-2并行的时间多路复用数据传输。单个周期“pip”作为标记在命令线135上传输,以指示随后在数据线133上开始的帧含有有效数据。pip最经常由节点中的任一者插入到命令线135上,所述节点中的任一者是在与pip相同的时钟周期期间开始被插入到数据线133上的时间帧中的数据的源。环状总线的数据线133和命令线135因此应以类似方式路由且同步操作。用下文描述的未利用pip进行控制的方式来控制数据时槽的时序和界定。
图3A的实例中的数据帧A、B和C分别在通道0、1和2中传输。通道1在两个周期内未载运有效数据,在这时间之后初始的数据帧B变为可用于在环状总线上转移。一个通道的数据可以此方式在存储器帧节点123-127中的任何节点之间转移,从而在存储器芯片103内的平面之间转移数据而不必通过控制器130;或者当在存储器与主机系统之间转移数据时,在所述节点123-127中的一个或一个以上节点与控制器节点128之间转移。
通过图3B和图3C的时序图在概念上说明用于围绕具有D个节点的环状总线转移数据的时分多路复用的两个特定实施方案。每一时间帧的持续时间(长度)为A个时钟周期。尽管下文描述的特定实例的数据总线时槽为四个时钟周期,但数目A可少至一个和高达8个、16个、32个或更多。将由数据通过节点引起的数据延迟指示为B个时钟周期。参数A和B中的每一者通常将被设计到存储器系统中,因此在系统操作期间将不可改变。使用C个时槽。
在图3B中说明的环状总线操作中,使通道(时槽)的数目C等于总线上节点的数目D。还使帧长度A等于节点之间的总线延迟B,二者均以时钟周期数来测量。每一节点通常通过具有B个存储寄存器级来存储通过所述节点的等于延迟B的若干位。这些参数的使用允许将数据同步转移到总线上的每一数据节点。对于所有时槽中的每一数据位位置,在总线周围存在一个存储寄存器。这促使C个分配的数据时槽连续循环通过每一节点。因而存在可用于典型数据转移操作的最大数目的通道。实际上,由于包括一通道以用于通常将不接收或传输数据的每一控制节点,因此导致一个或一个以上额外的通道。这些通道可用于将状态信息发送回控制器。一个通道通常用于为系统中的每一存储器芯片发送状态信息。
然而,尽管便于用图3B所示的方式来实施时分多路复用,但此最大数目的数据通道很少是必需的。因此优选使用任何特定数据转移操作所需的尽可能少的时槽C,以便最多地利用数据总线带宽。图3C的时序图说明具有动态选定数目C个通道的总线的操作,可使其成为给定数据转移所必需的通道,但不需要含有在如图3B所示操作时可发生的许多空时槽。
在图3C中,说明使用比总线上节点数目D更少的通道数目C的情况。在此实例中,在同时具有相同通道身份的至少两个时槽中围绕环状总线计算来自节点的连续数据帧。举例来说,如果在总线上存在D=12个节点且多路复用已动态指定同时转移C=6个数据通道,那么每一通道围绕总线出现两次。这是相对直接的,因为D/C是整数,在此实例中,所述整数等于2。但图3C中展示更经常的D/C不是整数的情况。在这种情况下,插入一个或一个以上未使用的时槽,其中未使用的时槽被称为“空槽(nul slot)”。插入许多空槽以使得节点数目D减去空槽数目再除以时槽数目C为整数。也就是说,使(D-[空槽])/C等于整数。
图3C中指定在数据总线上转移的所有C个数据帧(时槽)的序列以形成一个“周期”。促使全部N个周期重复以便形成围绕总线的一组时槽,所述时槽在此实例中少于总线上数据通过的节点的数目D。为了使时槽的序列等于节点数目D,在实际中添加一空槽以将该群组延长为N个周期加上空槽。在图3C的实例中,N=D-1,且通过将空槽插入所示处来完成此少1的补偿。在例如N=D-2的另一情况下,插入两个空槽。这使得每次围绕总线完全移动所述群组的数据所必需的时钟周期的总数目等于围绕环的一位存储位置的总数目。针对给定的数据转移操作来选择数量N和C,以使围绕环循环的未使用空槽的数目最小化,因为其使用在一定程度上减小了总线的数据转移带宽。在必要时空槽不具有与其相关联的数据通道,且其围绕环在节点之间连续循环。具有“无关(don’t care)”值的空数据在空槽中在节点间传递。
图4展示用于图2的数据节点123-126中每一者的示范性电路实施方案.环状总线的数据线133上的数据位的信号由寄存器级151接收,并串行移位通过连续的寄存器152、154和156.说明四个寄存器级以匹配四个时钟周期的时槽长度A.最末级156的输出与第一级151的输出均作为输入连接到切换电路153.这允许电路153以一个或四个周期的延迟进行操作.切换电路153的输出通过驱动器155连接回到数据线133.当切换电路153使其来自寄存器156的输入连接到其输出驱动器155时(最常见的配置),由数据节点的寄存器151接收的数据位在数据线133上被往后放置在四个时钟周期之后,以便在环状总线的另一段上传输到下一数据节点.类似地,当切换电路153使其来自寄存器151的输入连接到其输出驱动器155时,延迟是一个时钟周期.在由节点从其寄存器A或B中的一者中将数据放置在数据线上的时槽期间,切换电路153将不会使这些数据总线输入中的任一者连接到其输出.
如果数据总线使用两个或两个以上并行的数据线而不是所说明的单个线,那么针对每一条线提供单独的寄存器级,且切换电路153一起切换所述寄存器级。举例来说,如果数据总线含有四条线,那么数据节点在每条线中包括单个寄存器级。在这种情况下,每一节点转移一个时槽的四个位通过所述节点的总延迟为单个时钟周期而不是四个周期。尽管这有利地增加了总线的带宽,但系统的电路和操作更为复杂。
到数据节点的命令线135输入类似地连接到另一串四个寄存器157、158、160和162。命令在命令线135上与数据线133上的数据同步地路由,即施加有相同的延迟。最末寄存器162的输出连接到切换电路153,如同第一寄存器级158的输出,类似于数据寄存器路径。这些输入中的任一者可通过切换电路153连接到驱动器159,以便将命令信息以一个或四个时钟周期的延迟放置到环状总线的下一段上。当节点需要将pip放置到命令线135上时,这些输入中的任一者都不连接到驱动器159,节点将pip放置到命令线135上以指示有效数据在随后发生的时槽中正被节点放置到数据总线133上。如果数据总线含有两条或两条以上线,那么优选以类似方式建构命令总线,包括并行寄存器的使用,使得所述两个总线同步操作。
时钟信号线137与驱动器161直接连接,并提供用于数据和命令寄存器级的计时,以及用于数据节点的其余电路的时钟信号。
解码器163在寄存器157的输出处接收来自命令线135的控制器命令,且在寄存器151的输出处接收数据线133上的相关数据。解码器的功能是执行命令以配置其节点以在后续的数据传输中接收或传输数据。与在数据线133上供应的命令相关联的数据可包括命令期望针对的节点识别号、将在上面传输或接收数据的通道号、将使用寄存器A还是B、进行转移的数据的长度,和其它配置信息。
寄存器165含有在存储器系统加电或其它初始化时存储在其中的用于节点的唯一识别号。由系统控制器发出的全局初始化命令优选完成此举。识别号在操作期间被用作来自控制器的期望用于节点的命令的地址。尽管环状总线上的所有节点将接收一命令,但所述命令在总线上与命令所期望针对的节点的识别号一起传输。因此,仅用其识别号定址的节点将响应进行存储并接着执行命令。
另一寄存器167含有特定节点在上面进行通信的经时间多路复用的数据总线的通道号。此通道号通常在每次在数据总线133上向节点传输数据或从节点传输数据之前被重写作为节点的配置的一部分。在数据传输期间,所存储的通道号用于识别分配通道来用于节点传输或接收数据时槽的发生。在当前转移操作中将转移的数据的长度存储在另一寄存器168中,且将关于寄存器A或B中的哪一个正用于转移的名称存储在寄存器170中。寄存器167、168和170的参数通过解码器163由围绕命令线135上的总线发送的命令而载入所述寄存器中,所述命令包括存储在寄存器165中的节点识别号。
图4的切换电路153通过各数据线169与171中的一者在数据总线线133与寄存器A和B(图2中所示)中的一者之间建立连接.控制电路配置节点以在寄存器A和B中的一者与数据线133之间转移数据.当从总线转移数据以便存储在节点的存储器平面中时,电路153将由线182上经解码的控制信号选择的寄存器151或寄存器156的输出处的来自总线线133的数据引导到由线177上控制信号选择的寄存器A和B中的一者.然而,当在分配到节点的时槽期间在从寄存器A或B中的选定一者到数据总线线133的相反方向上转移数据时,切换电路153将选定寄存器的输出连接到驱动器155,同时断开数据总线线133在寄存器151与驱动器155之间的段.在其它时间期间,切换电路153经连接以使数据通过节点而不会对数据进行任何动作,除了施加一个或四个时钟周期的延迟.当节点没有在其数据寄存器A或B中的一者与数据总线133之间转移数据时,维持数据总线线133在寄存器151或寄存器156与驱动器155之间的通过连接.
切换电路153在适当时间完成这些连接的控制来自在控制线175-179和182上来自解码器163以及在其它控制线180上来自通道计数器181的输出的信号。计数器181由解码器163用线183-186上的四个信号来控制。线183载运在关于节点的数据转移操作的开始时重设计数器181的初始化信号。线185载运用于当前数据传输的通道的数目的数据,其由控制器传送作为针对数据转移而设置节点的一部分。环状总线上节点的数目D也在线186上被供应到计数器181,且在电路184上传送周期数目N(见图3C)。计数器181计数到最高的通道号,且接着被重设到最低的通道号、被中止、再次开始计数,依此类推。当前计数,且因此当前的通道号在线180上被输入到切换电路153。电路153将所述号码与来自寄存器167的被分配给节点的、在控制线175上由解码器提供的通道号进行比较。当这些号码相同时,电路153切换节点以接收来自数据总线133的数据或将数据传输到数据总线133,直到转移完成为止(由来自寄存器168的在控制线176上提供的数据传输长度所决定)。
线177上的控制信号规定是用节点的寄存器A还是寄存器B转移数据。线178和179载运信号,所述信号切换电路153以:(1)接收来自数据总线线133的数据,在这种情况下数据总线通过节点,且由控制线177识别的寄存器与其连接,(2)在分配给节点的时槽期间将来自经识别的寄存器的数据传输到总线线133上,在所述时槽期间总线线133不通过节点,或(3)使数据总线线133通过节点而不与寄存器A或B中的任一者连接。
关于图4而描述的数据接口节点控制总线133与寄存器A和B之间的数据转移。将来自存储器单元阵列平面的数据读取到寄存器A或B中以便转移到总线133上,或将从总线133获得的数据从寄存器A或B编程到存储器单元阵列中,是通过命令环状总线接口节点127(图2)控制的。在图5中给出命令节点电路的实例,其中作为图4元件的对应部分的元件由相同的参考标号识别,但添加有符号(’)。一旦被线195中的来自解码器197的控制信号启用,那么寄存器193就存储从命令总线135接收到的命令数据。类似地,当被线201中的来自解码器的信号启用时,寄存器199存储从数据总线133接收到的数据。寄存器199的主要用途是将地址存储到正被存取以进行读取或编程的存储器单元阵列中。
寄存器193和199中的数据在各自线203和205上输出,线203和205连同状态信号线207一起通过信号路径209与存储器阵列控制电路121(图2)连接.由线203载运的主要命令是用以在由线205中的地址规定的位置处将数据编程到存储器平面105-108中的一者或一者以上和从存储器平面105-108中的一者或一者以上读取数据,以及从寄存器A或B中的一者编程和读取数据或将数据编程和读取到寄存器A或B中的一者中的命令.线203上载运的命令代码是由用于存储器芯片103内的命令与控制电路121(图2)的协议规定的命令代码.此协议不需要等同于环状总线内使用的命令代码的协议.举例来说,环状总线命令代码可能与存储器单元阵列所使用的命令代码具有不同的长度.在这种情况下,可将译码器(未图示)并入到命令寄存器193(图5)的输出上.可通过系统配置命令将用以转换一种协议为另一种协议的映射信息载入翻译器中.状态线207在当设置存储器系统以便在节点之间转移数据时指定的时间多路复用通道中的一者中提供来自控制电路121的状态信号,且通过切换电路211到达数据总线线133.
图5的切换电路211在功能上比图4的切换电路153简单。除了在来自线207的状态信息被放置在线133上的时槽期间之外,在所有时间都在由线214中的控制信号选择的寄存器151′或寄存器156′与驱动器155′之间通过数据线133。经配置的时槽的发生是由切换电路211以相同于图4切换电路153的方式从通道计数器181′和线175′中分配的通道号中确定的,以及由线213上的控制信号确定的。在节点之间的数据转移期间,状态信息被放置在总线133上,而从系统控制器将命令和地址接收到寄存器193和199中发生在数据转移之前或之后,其早于将数据读出快闪存储器而进入寄存器A和B中的一者或两者中以转移到另一节点,或晚于将已从另一节点转移到这些寄存器中的数据编程到快闪存储器中。
图6A到图6I中展示用以操作图2-5的存储器系统的一组命令,其全部由控制器130通过其环状总线节点128(图2)发出。为了方便起见而展示通过环状总线的三个节点在各总线线135(CMND)和133(DATA)上的命令和数据传输,因为其以时间顺序发生。当然,存储器系统可能具有远多于三个环状总线节点,其中扩展图6A到6I中展示的图案以展示每一节点处的信号,一个节点的信号比紧邻的前一个节点的信号延迟一个时钟周期。将注意到,在此特定实例中,pip是在紧接着每一命令之前的时钟周期中在命令线上发送的,且还对数据线上发送的数据标记开始。不同于所说明的单个周期pip,每一命令之前的pip可能占据多个时钟周期,且可能被定义为启用后续命令所需的唯一代码。这将对所传输的命令的错误检测提供更大的抗扰性。
图6A、6B和6C的命令是由环状总线上的每一节点执行的配置命令。通过图6A或6B中任一者的替代命令,唯一的节点识别(ID)号存储在每一节点的寄存器165和165′(图4和5)中。在图6A中,在命令总线线135上发送设定ID命令,由pip标记其开始。紧接着的是数据线133上的唯一的识别号(ID),也由命令线上的pip标记其开始。作为节点切换电路153或211(图4和5)的一部分的电路使由总线上第一节点在控制器节点之后接收的ID号递增,且经递增的号接着围绕环状总线按次序被传输到下一节点。
在图6B中,由控制器电路130(图2)而不是由先前节点的递增电路确定由环状总线的连续节点使用的ID号的顺序。这允许在将ID号分配给节点时具有更大的灵活性。控制器130不仅传输用于环状总线上第一相邻节点的单个ID号,而且传输一串ID号,总线上的每一节点使用其中一个ID号。每一节点去除其接收到的第一ID号,并将其余的ID号在环状总线上按次序重新传输到下一节点。
图6C中说明重设通道命令,控制器在命令总线线135上发送由系统上每一节点接收并执行的命令。当此命令由节点接收时,其经分配的通道号寄存器167和167′(图4和5)被重设。
图6D、6E和6F的三个命令被引导到环状总线系统上经识别的命令节点(例如命令节点127(图2和5))并由其接收.图6D的地址输入命令识别将要存取的快闪存储器地址.所述地址在命令线135上围绕总线发送,同时在数据线133上发送预定接收命令的一个命令节点的ID号.紧随着节点ID的是存储器单元阵列的地址,在后续步骤中将在所述地址处执行某个操作.接着在其寄存器165′中具有与控制器所发送的ID相匹配的一个节点将此地址载入其地址寄存器199(图5).相同的ID和地址围绕总线在节点之间传递,但仅具有匹配ID的一个命令节点启用其本身以接收和存储地址.
图6E中展示一组相关命令,所述命令对快闪存储器的已由图6D的一个或一个以上地址输入命令定址的部分进行操作。在命令线135上发送用于图6E中列出的命令之一的唯一代码,而在数据线133上发送所述命令被引导到的一个命令节点的ID。所述命令接着被载入经识别的命令节点的命令寄存器193(图5)且立即执行。图6E的读取模式命令促使快闪存储器中在由图6D的命令先前载入的地址(或多个地址)处的数据被读出快闪存储器,且进入寄存器以准备由环状总线转移数据。类似地,图6E的多块编程命令可用于将来自寄存器的数据并行地编程到快闪存储器的两个或两个以上平面中的先前由图6D的地址命令供应的地址处。如果存储器系统中存在期望用以执行图6E的命令之一的一个以上命令节点,那么图6D和6E的命令被单独地发送到每一命令节点。
如果期望在读取、编程或其它操作期间由命令节点发送状态信号,那么图6F的状态读取命令用于设置命令节点以进行此工作。在命令线135上发送唯一的命令,而在数据线133上发送期望用所述命令来设置的一个命令节点的ID。将在上面发送状态信息的通道号紧随数据线上的节点ID。接着将此通道号载入经分配的通道号寄存器167′(图5)中。
图6G展示相关的输入与输出命令,其用于响应于后续的数据命令来调节数据节点,以在环状总线的数据线133与寄存器A或B中的一者之间转移数据。输入或输出命令被控制器放置在命令总线线135上,随后是期望节点的ID、在上面转移数据的通道号(时槽)、转移数据所使用的寄存器A或B以及数据转移的长度。接着将发送的通道号载入数据节点的寄存器167(图4)中,选定的寄存器A或B和数据转移的长度临时存储在解码器163中且由各自的解码器输出177和176提供。
一旦所有相关的数据节点经配置以便通过接收和执行图6G的命令(每次一个)进行数据转移,那么图6H的数据启用命令促使进行转移。由控制器在总线的命令线135上发送数据启用命令,且在数据线133上发送进行转移所必需的配置参数。这些参数包括用于数据转移的通道(时槽)数目C、一组时槽中周期的数目N和环状总线上节点的数目D,其遵循图3C的时序图所说明的经分组的通道转移。这些参数存储在数据节点(图4)中且在数据转移期间在线184、185和186上被提供到通道计数器181。如图6G的输入或输出命令所引导,在由所述命令规定的用于每一节点的唯一通道上,数据接着被转移到已接收所述命令的每一节点的寄存器A或B的一者中或从已接收所述命令的每一节点的寄存器A或B的一者中转移出。
图6H的数据启用命令促使正被转移的数据在其被分配的时间多路复用通道中围绕环状总线循环.有限量的数据可根据通道的宽度(即,分配给每一者的时间的长度)而在每一数据通道中转移.在图6H中,为便于解释而将各通道(数据帧)展示成长度为四个时钟周期,从而载运四个数据位,但实际上可能比四个大得多.根据图3C所示的分组通道周期技术,每一数据节点可在先前传输的帧完全通过围绕环状总线的电路并返回到所述节点之前传输另一数据帧.这持续进行,直到以此方式传输完从所述节点转移的所有数据为止.
在控制器在环状总线上传输另一命令节点或数据节点命令,而数据正在执行数据启用命令的过程中转移之前,转移需要首先被中止。图6I中展示数据中断命令以进行此工作。当在数据转移期间源数据节点接收到数据中断命令时,所述节点中止数据转移,直到随后接收到数据启用命令为止。然而,用于进行转移的数据的目的地节点继续接收任何相关数据,因为在数据中断命令之后在其它通道上可能存在有效数据。经配置以仅仅使数据通过的那些节点继续进行此工作。用数据中断命令中止数据转移的一个原因是能够添加通道、配置额外节点以传输或接收数据等,如同在数据中断命令之后且在经重新配置的数据转移通过随后的数据启用命令而重新开始之前可通过使用输入和/或输出命令来完成。用于经重新配置的数据转移的新参数被规定作为随后数据启用命令的一部分。
图6I的数据中断命令与所有其它命令的不同之处在于,其不具有相关联的命令代码。可仅在先前命令为数据启用命令时使用所述命令。数据中断命令由控制器用信号发出作为任一通道上的命令线上的扩展pip。数据线载运适合于与数据中断命令不关联的所述通道的数据。
图7中概括了通过使用刚才已描述的命令在节点之间转移数据的整个过程。快闪存储器平面内将转移的数据首先被移动到寄存器中,所述寄存器在此实例中为一个或一个以上平面中每一者的寄存器A或B之一。第一步骤221促使快闪存储器地址按顺序被发送到各命令节点,所述命令节点每一者与一个或一个以上存储器平面相关联。紧接着的是将来自平面的经定址的位置的数据读取到其相关联的寄存器A或B中的一者中。
这些数据源节点还经配置以通过使用用于待配置的每一节点的图6G的输出命令来转移数据,如步骤223指示。在步骤224中,数据目的地节点通过使用用于待配置的每一节点的输入命令来接收这些数据。步骤223和224可与步骤222同时执行。在起始步骤222之后可发出状态读取命令(图6F)以便接收在节点之间围绕总线起始数据转移之前已完成在节点内的步骤222的转移的确认。
在完成步骤223和224以设置源节点和目的地节点以用于数据转移之后,且一旦确认步骤222已完成,如果以上已完成,那么在步骤225中发出图6H的数据启用命令。这促使数据在环状总线上从源节点的寄存器移动到目的地节点的寄存器。源节点和目的地节点寄存器包括控制器节点128(图2)的寄存器,其用于通过控制器130从主机接收数据或将数据发送到主机。
接着,存储在目的地节点的寄存器中的数据被编程到快闪存储器中。在步骤226中,通过图6D的地址输入命令将快闪存储器内由命令节点控制的地址发送到所述命令节点。如果存在多个命令节点,那么针对每一命令节点单独执行此步骤。接着发送图6E的编程命令中的一者以促使从寄存器到快闪存储器中的编程具有可能的最大并行度。通过这些技术,数据可在以下两种情况的任一者或两者的情况下移动:(1)在主机到控制器中的寄存器与快闪存储器中的位置之间,(2)仅在快闪存储器内的位置之间。
步骤226的起始不需要等待步骤225的完成,而是可与步骤225同时执行。对于一控制节点操作和一数据节点操作,或对于单个寄存器上的两个数据节点操作,同时的操作是可能的。
图8和图9中给出通过使用图6A-6I的命令来转移数据的说明,其中图8示意性展示图2到图5的具有在实例中使用的特定所需的数据源和目的地的存储器系统,且图9按顺序列出用以实现所需转移的命令。在已由主机系统(存储器系统通过控制器与所述主机系统连接)将数据的扇区19、20和21写入到控制器缓冲器RAM之后,所述数据的扇区19、20和21从控制器缓冲器RAM转移以写入到快闪存储器中。这些数据扇区分别转移到存储器平面A、B和C中。同时,平面C中的数据扇区R6转移到平面D。
图8和9的实例还展示尚未讨论的结束命令(图6E)的使用。在此处其用作命令#10(图9)以终止由命令#4起始的状态读取操作。同样,使用两次数据中断命令,作为命令##9和14以停止各自的数据启用命令##8和13的执行。数据中断命令#9的原因是中止数据转移以便配置源节点和目的地节点以用于扇区R6的转移,其由各自的输出与输入命令##11和12完成。这可能是必需的,因为快闪存储器读取命令#3的执行花费相对长的时间,在此时间期间可由控制器发出命令##4-8。接着发出另一数据启用命令#13,其在通道0中将扇区R6添加到进行转移的数据,而通道1、2和3上的数据扇区19、20和21的转移重新开始。在数据扇区19、20和21的转移完成(将在稍后开始的数据扇区R6的转移完成之前发生)之后,发出另一数据中断命令#14以使得后续的数据启用命令#15可减少用于结束扇区R6的转移的通道的数目。需要仅规定在最多一直发生的任何数据转移所需的通道的数目,从而避免时槽无数据,这不利地影响存储器性能。
还将注意到,图8和图9中说明的示范性数据转移在单个环状总线上同时执行某些操作,这是上述架构和命令结构的特性。举例来说,响应于数据启用命令#8,由于使用时分多路复用,数据的三个扇区19、20和21同时转移,每一扇区具有不同的源节点和目的地节点。响应于数据启用命令#13,四个数据扇区19、20、21和R6一起围绕总线转移。同样,在命令#4期间,在数据扇区19、20和21的转移在通道1、2和3上进行的同时,状态读取命令在通道0上执行。另外,如上所提到,在执行快闪存储器读取命令#3时,执行命令##4-7和命令#8的一部分。另外,围绕环状总线转移的数据在通过控制器节点时可由控制器的ECC电路检查,这与数据转移同时发生。
存在可实现的图2存储器系统架构的许多变化,同时仍用上述的命令和方式来操作系统。不再是具有四个存储器平面的存储器芯片,存储器芯片可具有单个的未经划分的存储器单元阵列,如图10所说明。两个存储器芯片231和233展示为在环状总线中与控制器芯片101连接。存储器芯片231和233中每一者均包括通过总线以先前描述的环连接的单个命令节点和单个数据节点。两个以上存储器芯片可用于特定系统。
图11中展示其它可能的变化,其中两个存储器芯片235和237中的每一者也在环状总线上与控制器芯片101连接,但每一存储器芯片分别包括单个组合的命令和数据节点239和241。节点239和241单独地具有组合到一个电路中的图4和5的单独的节点电路。其优点在于可通过消除例如切换电路、命令解码器、通道计数器、各种存储寄存器和类似物的重复的组件来缩减节点电路。
为了提供与在单个并行总线上与存储器芯片通信的常规控制器向后兼容(backwardcompatible)的存储器集成电路芯片,存储器芯片可包括常规的总线接口以及环状总线节点和外部连接.图12中展示此种存储器芯片.其含有四个环状总线节点245-248,每一者连接到四个多路复用器251-254中的一者的一个输入.多路复用器251-254中每一者的另一输入通过共用总线257连接到常规的总线接口电路259,所述总线接口电路259提供终止于存储器芯片的外部连接垫的常规总线261.这些总线垫接着与系统控制器连接,且视需要与其它存储器芯片连接.常规控制器263(类似于图1的控制器11)或具有环状总线节点的控制器265(类似于图2的控制器101)可与这些总线垫连接.
给定芯片的多路复用器251-254在安装在存储器系统中时优选永久设定,以便将存储器阵列及其命令与控制电路(图12中未图示)的部分单独地连接到各环状总线节点245-248或并行连接到更常规的总线257。可添加存储器芯片的外部引脚以便设定多路复用器251-254,以根据存储器系统中使用的控制器将芯片连接到各种类型控制器263或265中的任一者。芯片的环状总线的输入267连接到常规总线接口261的一组输入线,在此情况下为一组三条线。环状总线的输出269连接到常规总线269的另一组三个不同导体。因此,当控制器265用于存储器系统中时,其与常规外部总线的这两组线连接,因为所述总线不是以常规方式使用。因此不需要增加存储器芯片的外部垫的数目以便适应与任一类型控制器的连接。
使用存储器芯片的额外的外部引脚来设定多路复用器251-254的替代方案是使用常规总线257中的没有用作环状总线的输入或输出线的引脚。可将这些引脚永久设定为状态的预定组合以设定多路复用器251-254来选择环状总线节点245-248。可将状态的组合选择为在常规总线257的正常操作中不会发生的非法组合。
在图2、10和11所示的系统实例中,除了环状总线节点接口已代替存储器接口25之外,控制器130极类似于图1的现有控制器11。但并不是通过单个总线节点接口存取控制器的许多组件和功能中的每一者,这些组件和功能可通过单独地具有其自身的节点而围绕环状总线分布。图13中展示此情况的实例。指示若干环状总线节点275-279以代表单个集成电路芯片上或许多可能配置(包括先前说明和描述的配置)中任一者中的单独芯片上的存储器阵列的命令和数据节点。图13的系统的不同之处在于用与少于所有控制器电路和功能的控制器电路和功能单独连接的多个这种节点替换了单个控制器节点。在此特定实例中,包括七个控制器环状总线节点281-287。其分别单独地连接到非易失性存储器高速缓冲存储器289、易失性存储器高速缓冲存储器291、ECC电路293、易失性数据缓冲存储器295(主要用于在存储器与主机之间转移的数据的临时存储)、用以存储由处理器299执行的固件代码的易失性存储器297,和主机接口电路301。可通过使用额外的控制器节点添加其它功能,或可消除图13所示的控制器功能中的一个或一个以上功能,或可组合所述组件和功能中的某些组件和功能以便通过单个共享的总线节点连接到环状总线。
为了使环状总线不会负担有控制器操作内部的命令和数据的转移,期望包括单独的并行控制器总线303,其允许处理器299与例如图13所示的控制器功能中的某一者之间的直接通信.额外的非易失性存储器305也可连接到控制器总线303以便存储引导代码,所述引导代码在系统的初始化期间使用以促使处理器299将固件从系统的快闪存储器载入存储器297中.这使得主要在数据或命令在某些控制器组件中的一者与和存储器节点275-279连接的快闪存储器组件之间转移时使用所述控制器组件与环状总线的连接.先前提到的一个实例是使围绕总线转移的数据(尤其是从快闪存储器读取的数据)通过ECC电路293以验证其有效性.接着优选由处理器299校正由ECC电路293在用于校正的ECC算法的能力内检测到的错误.其它实例包括环状总线到缓冲存储器295和高速缓冲存储器289与291的直接连接.
期望使存储器芯片容易通过其本身与控制器连接,或者还容易连接到一个、两个或两个以上其它存储器芯片。在存储卡的制造中,控制器和一个或一个以上存储器芯片物理地附接到小的印刷电路板(PCB),所述印刷电路板还提供用于使芯片与卡的外部接点互连的电导体。相对直接的是当在PCB上使用常规的并行总线时,向PCB提供包括从一到某个有限数目的可变数目的存储器芯片的能力,以便能够制造具有不同存储容量的卡。但当一个或一个以上存储器芯片连接到环状总线时,PCB上环状总线的将存储器芯片与控制器芯片连接在一起的部分需要能够适应可变数目的串联连接的芯片。由于所述串联的最末存储器芯片的输出连接回控制器,因此需要某种用不同数目的存储器芯片容易地进行此工作的方式。
图14中说明用于进行此工作的一种这样的技术。控制器芯片311和两个存储器芯片313和315在单个PCB上连接在一起作为存储卡的一部分。控制器311包括至少一个总线节点,且存储器芯片的每一者包括多个总线节点。存储器芯片313具有与控制器芯片311的总线输出连接的总线输入317,和连接到第二存储器芯片315的总线输入的第一输出319。第二输出321也提供在存储器芯片313上且连接到总线的部分323,所述部分323在PCB上包括在芯片之间以将串联的最末存储器芯片的输出返回到控制器芯片311的总线输入。但由于存储器芯片313不是串联的最末存储器芯片,因此其返回的输出321在芯片上被禁用,而输出319保持可操作。第二存储器芯片315类似地具有两个总线输出325和327,由于所有的存储器芯片最容易被制造成一样,因此由于芯片315是串联的最末芯片而保持返回输出327被启用。其与PCB总线返回部分323的连接随后使环完整。芯片315的第二输出325接着在芯片315上被禁用,且无需连接到任何地方。
尽管图14的配置允许可变数目的芯片相对容易的串联连接,但PCB上总线部分323的长度在许多情况下可具有显著高于芯片上总线段电容的电容水平。由于这可限制整个环状总线的操作频率,因此进一步需要用可使这种效应最小化的方式来提供返回总线路径。这在图15的卡系统中是通过在存储器芯片331和333本身上形成返回路径的大部分且通过将返回路径分成被单独驱动的较短段来完成的。那么环状总线的任一段的最大电容就维持在较低水平。
以存储器芯片331作为实例,其具有环状总线输入335和用于串联连接到下一存储器芯片的输出337(如果存在输出337(如图15))。用于返回到控制器的第二输出339保持在存储器芯片内。返回路径的部分341包括在存储器芯片中而不是在PCB上。返回路径341连接到级343,所述级343包括一个时钟周期的延迟以将其输入与输出总线段以及驱动器去耦来驱动返回输出345,这类似于早先描述的节点。对于存储器芯片不是串联中的最末芯片的情况,例如芯片331不在图15中,提供返回总线输入347用于下一按次序的存储器芯片以连接其返回总线输出。
在图15的两个存储器芯片的实例中,使第一芯片331的输出337可操作以便连接到串联的下一存储器芯片333的输入,而其返回输出339被禁用.使第二存储器芯片333的返回输出349可操作,因为第二存储器芯片是串联的最末芯片.接着总线跟随芯片333上的返回路径,通过与电路343相同的寄存器和驱动器电路351而到达第一芯片331的输入347.实际上,非常需要制成单独的一个可连接在串联串内多个位置中的任一个位置的存储器集成电路芯片.最末存储器芯片333的第二输出353被禁用且保持无连接.当然,对最末芯片333的返回总线输入355没有连接.
尽管已关于本发明的示范性实施例描述了本发明的各种方面,但将了解,本发明有权受到所附权利要求书的整个范围内的保护。

Claims (49)

1.一种围绕将多个节点与一控制器(101)连接在一起的一环状总线(133,135,137)来转移数据的方法,其特征在于:
在从所述控制器到所述节点的围绕所述环状总线的一给定方向上传递命令(223,224),以便确立所述节点中的至少一个节点作为待转移的数据的一源,且确立所述节点中的至少另一个作为待转移的数据的一目的地,
将待转移的数据从连接到所述至少一个源节点的存储器(105-108)读取(222)到在所述至少一个源节点处提供的临时数据存储装置中,
随后仅在从所述至少一个源节点处的临时数据存储装置围绕所述环状总线的所述给定方向上转移(225)所述读取数据,
随后将所述转移的数据写入到在所述至少一个目的地节点处提供的临时数据存储装置中,和
随后将所述转移的数据从所述至少一个目的地节点处的所述临时数据存储装置写入(227)到与其连接的存储器中;
其中通过适于包括正转移的多个通道的数据的数目的多个时间多路复用数据帧在一单个方向上完全围绕所述环状总线从所述数据通信节点中的一个或一个以上数据通信节点同时转移多个通道的所述读取数据。
2.根据权利要求1所述的方法,其中围绕所述环状总线传递命令包括通过连接到所述环状总线中的一控制器节点从所述控制器传递命令。
3.根据权利要求2所述的方法,其额外包含通过所述控制器中包括的缓冲存储器以及所述控制器节点将数据转移到一主机和从所述主机转移数据。
4.根据权利要求1所述的方法,其额外包含通过连接到所述环状总线中的另一节点将数据转移到一主机和从所述主机转移数据。
5.根据权利要求1所述的方法,其中传递命令包括确立所述节点中的至少两个节点作为待转移的数据的源,且确立所述节点中的至少两个节点作为待转移的数据的目的地,其中转移所述读取数据包括在至少两个连续的时槽中从所述至少两个源节点围绕所述环状总线转移数据,且其中写入所述转移的数据包括将所述正转移的数据从所述至少两个连续的时槽中的不同时槽写入所述至少两个目的地节点中。
6.根据权利要求5所述的方法,其中转移所述读取数据额外包括调节所述至少两个连续时槽的数目以减少任何未使用时槽的数目。
7.根据权利要求5所述的方法,其中围绕所述环状总线传递命令不包括连续时槽的使用。
8.根据权利要求1所述的方法,其中围绕所述环状总线传递所述读取数据包括从所述至少一个源节点并回到所述至少一个源节点完全围绕所述环转移所述读取数据。
9.根据权利要求8所述的方法,其额外包含在所述至少一个源节点处验证所述读取数据在完全围绕所述环转移之后的有效性。
10.根据权利要求9所述的方法,其中验证所述读取数据的有效性包括将在完全围绕所述环转移之后的所述读取数据与放置在所述环状总线上所述至少一个源节点处的所述读取数据进行比较。
11.根据权利要求8所述的方法,其额外包含在所述环状总线上的一位置处用一错误校正方案检查所述读取数据.
12.根据权利要求11所述的方法,其中用一错误校正方案检查所述读取数据发生在所述控制器中。
13.根据权利要求11所述的方法,其中用一错误校正方案检查所述读取数据包括使所述数据传递通过错误校正电路,其中所述错误校正电路通过除了所述至少一个源节点和所述至少一个目的地节点之外的一节点连接到所述环状总线。
14.根据权利要求1所述的方法,其中围绕所述环状总线传递的用以确立所述节点中的至少一个节点作为待转移数据的一源且确立所述节点中的至少另一个节点作为待转移数据的一目的地的所述命令仅由所述控制器发起。
15.根据权利要求1所述的方法,其额外包含在围绕所述环状总线转移所述读取数据之前,从所述控制器围绕所述环状总线发送命令和数据以配置所述多个节点。
16.根据权利要求1所述的方法,其中围绕所述环状总线转移所述读取数据包括在所述多个节点中的个别节点处施加正转移的读取数据所同步的一系统时钟源的一个或一个以上周期的一延迟。
17.根据权利要求1所述的方法,其中围绕所述环状总线传递命令包括在所述环状总线的至少一第一导体上传递命令,且围绕所述环状总线转移所述读取数据包括在所述环状总线的不同于所述第一导体的至少一第二导体上转移所述读取数据。
18.根据权利要求1所述的方法,其中围绕所述环状总线传递命令包括(1)通过所述多个节点中的至少另一个节点接收所述命令并接着将所述节点中的所述至少一个节点配置为数据的一源来确立所述节点中的所述至少一个节点作为数据的一源,和(2)通过所述多个节点中的至少另一个节点接收所述命令并接着将所述节点中的所述至少一个节点配置为数据的一目的地来确立所述节点中的所述至少一个节点作为数据的一目的地。
19.根据权利要求1所述的方法,其中从连接到所述至少一个源节点的存储器读取待转移的数据包括从连接到所述至少一个源节点的可再编程非易失性存储器单元的至少一第一单位读取数据。
20.根据权利要求1所述的方法,其中将所述转移的数据写入到与所述至少一个目的地节点连接的所述存储器中包括将所述转移的数据写入到连接到所述至少一个目的地节点的可再编程非易失性存储器单元的至少一第二单位中。
21.根据权利要求19所述的方法,其中存储器单元的所述第一单位包括少于一单个集成电路芯片上所有存储器单元的各自的第一和第二平面。
22.根据权利要求20所述的方法,其中存储器单元的所述第二单位包括少于一单个集成电路芯片上所有存储器单元的各自的第一和第二平面。
23.根据权利要求19所述的方法,其中存储器单元的所述第一单位包括各自的第一和第二集成电路芯片上的一整个存储器单元阵列。
24.根据权利要求20所述的方法,其中存储器单元的所述第二单位包括各自的第一和第二集成电路芯片上的一整个存储器单元阵列。
25.根据权利要求2所述的方法,其额外包含将所述读取数据临时存储在连接到所述多个节点中不同于所述控制器节点、所述至少一个源节点和所述至少一个目的地节点的另一节点的缓冲存储器中。
26.根据权利要求1所述的方法,其中将数据读取到临时数据存储装置中包括将所述读取数据转移到在所述至少一个源节点处提供的至少两个数据寄存器中的一者中。
27.根据权利要求1所述的方法,其中将数据写入到临时数据存储装置中包括将所述转移的数据写入到在所述至少一个目的地节点处提供的至少两个数据寄存器中的一者中。
28.根据权利要求1所述的方法,其额外包含同时将一第二组数据从连接到所述多个节点中的一个节点的存储器读取到所述多个节点中的所述节点处的临时数据存储装置的一个部分中和将一第三组数据从所述环状总线写入到所述多个节点中的所述节点处的临时数据存储装置的另一部分中。
29.一种存储器系统,其包含:
至少一个可再编程非易失性存储器单位,其包括一数据通信节点,
一主机数据输入/输出电路,其具有另一数据通信节点,
一总线,其将所述数据通信节点共同连接成一环,和
一控制器,其包括一微控制器,所述微控制器与所述环状总线可操作地连接以促使通过适于包括正转移的多个通道的数据的数目的多个时间多路复用数据帧在一单个方向上完全围绕所述环状总线从所述数据通信节点中的一个或一个以上数据通信节点同时转移多个通道的数据。
30.根据权利要求29所述的存储器系统,其中所述控制器进一步通过所述环状总线可操作地连接,以通过所述环状总线将配置命令发送到所述通信节点中选定的通信节点以通过其转移数据。
31.根据权利要求30所述的存储器系统,其中所述至少一个存储器单位额外包括一配置电路和连接到所述环状总线的一命令节点,且所述配置电路用于接收和执行来自所述控制器的所述配置命令。
32.根据权利要求29所述的存储器系统,其中所述至少一个存储器单位的至少所述数据通信节点包括至少两个寄存器,所述至少两个寄存器经连接以同时存储在存储器子系统与所述环状总线之间转移的至少两块数据。
33.根据权利要求29所述的存储器系统,其中所述控制器包括所述主机数据输入/输出电路,且所述控制器通过所述另一数据通信节点连接到所述环状总线。
34.根据权利要求29所述的存储器系统,其中所述控制器通过一命令信号节点连接到所述环状总线。
35.根据权利要求29所述的存储器系统,其中所述至少一个存储器单位包括多个单独地包括一数据通信节点的两个或两个以上可再编程非易失性存储器单位。
36.根据权利要求35所述的存储器系统,其中所述两个或两个以上存储器单位包括一单个集成电路芯片上的两个或两个以上存储器平面。
37.根据权利要求35所述的存储器系统,其中所述两个或两个以上存储器单位形成在分别的两个或两个以上独立的集成电路芯片上。
38.根据权利要求29所述的存储器系统,其额外包含一错误校正电路,所述错误校正电路与所述环状总线可操作地连接以在所述多个通道的数据围绕所述环状总线转移时使所述多个通道的数据能够通过所述错误校正电路。
39.根据权利要求38所述的存储器系统,其中所述控制器包括所述错误校正电路。
40.一种快闪存储器系统,其包含:
多个快闪存储器数据存储单位,其单独地包括一快闪存储器单元阵列、一数据节点和连接在所述数据节点与所述阵列之间的至少一个数据存储寄存器,
至少一个命令单位,其与用于在其间传送地址和状态信息的所述数据存储单位连接且与一命令节点连接,
一控制器,其具有一接口节点,
一总线,其将所述数据、命令和接口节点共同连接成一环,且
所述控制器操作以通过经由所述总线将命令发送到所述命令单位而在所述数据存储单位以及在所述数据存储单位与所述控制器之间转移数据,其中所述至少一个寄存器是所述转移的数据的一源或一目的地,其中通过适于包括正转移的多个通道的数据的数目的多个时间多路复用数据帧在所述数据节点之间同时转移多个通道的所述经转移数据。
41.根据权利要求40所述的存储器系统,其中所述至少一个寄存器包括两个或两个以上寄存器,且所述控制器进一步操作以通过所述总线将经定址的存储单位的所述两个或两个以上寄存器中的一者选择为所述转移的数据的所述源或一目的地。
42.一种集成电路芯片,其包含:
至少两个可再编程非易失性存储器单元子阵列,
至少两个数据存储寄存器,所述至少两个子阵列中的每一者可操作地连接以用所述数据存储寄存器中的至少一者转移数据,
至少两个总线节点,所述至少两个总线节点中的每一者可操作地连接以用所述数据存储寄存器中的至少一者转移数据,
一第一组多个外部接点,其提供到达所述集成电路芯片的一总线输入,
一第二组多个外部接点,其提供来自所述集成电路芯片的一总线输出,和
一总线,其将所述至少两个总线节点与所述第一和第二组外部接点串联连接,
借此所述集成电路芯片通过所述第一和第二组接点可与其它集成电路芯片连接成一串联环。
43.根据权利要求42所述的集成电路芯片,其中所述至少两个总线节点包括一命令节点,所述命令节点适于接收命令以配置所述至少两个子阵列和所述至少两个寄存器,以便在所述至少两个子阵列与所述至少两个总线节点之间转移选定的数据。
44.根据权利要求42所述的集成电路芯片,其中所述至少两个数据存储寄存器包括所述寄存器中的至少两个寄存器,所述至少两个寄存器可操作地连接以用所述至少两个子阵列中的不同一者来转移数据。
45.一种集成电路芯片,其包含:
至少一个可再编程非易失性存储器单元阵列,
至少一个总线节点,其可操作地连接以用所述至少一个阵列转移数据,
一第一组多个外部接点,其提供到达所述集成电路芯片的一总线输入,
一第二组多个外部接点,其提供来自所述集成电路芯片的一第一总线输出,以便与含有至少一个可再编程非易失性存储器单元阵列的另一集成电路芯片的输入总线接点连接,
一第三组多个外部接点,其提供来自所述集成电路芯片的一第二总线输出,所述第二总线输出可经启用以确立返回总线连接,和
一总线,其可操作地将所述至少一个总线节点与外部接点的所述总线输入和所述总线输出组串联连接。
46.根据权利要求45所述的集成电路芯片,其中在所述第二组接点未与含有至少一个可再编程非易失性存储器单元阵列的另一集成电路芯片的输入总线接点连接时,所述第三组接点可经启用以提供所述第二总线输出。
47.根据权利要求45所述的集成电路芯片,其额外包含包括总线数据临时存储装置和驱动器的一电路,其中所述驱动器将所述临时存储装置连接到所述第三组接点以便将存储在其中的数据放置到所述第三组接点上,且一第四组多个外部接点也在所述电路芯片上连接到所述临时存储装置。
48.一种集成电路芯片,其包含:
至少一个可再编程非易失性存储器单元阵列,
至少一个总线节点,其可操作地连接以用所述至少一个阵列转移数据,
一第一组多个外部接点,其提供到达所述集成电路芯片的一总线输入,
一第二组多个外部接点,其提供来自所述集成电路芯片的一总线输出,
一总线,其将所述至少一个总线节点与所述第一和第二组外部接点串联连接,借此所述集成电路芯片通过所述第一和第二组接点可与其它集成电路芯片连接成一串联环,且
其中所述至少一个总线节点包括在所述总线上接收的数据的临时存储装置和用以将存储在所述临时存储装置的所述数据输出到所述总线上的驱动器。
49.根据权利要求48所述的集成电路芯片,其中所述至少一个节点额外包含用于存储所述至少一个节点的一识别号的一第一寄存器和用于存储所述总线上既定用于所述至少一个节点的数据的一通道号的一第二寄存器,借此与所述总线介接,所述至少一个节点在时间多路复用模式中操作。
CN2005800318174A 2004-08-09 2005-08-03 环形总线结构及其在快闪存储器系统中的使用 Expired - Fee Related CN101036132B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/915,039 2004-08-09
US10/915,039 US8375146B2 (en) 2004-08-09 2004-08-09 Ring bus structure and its use in flash memory systems
PCT/US2005/027866 WO2006017725A2 (en) 2004-08-09 2005-08-03 Ring bus structure and it's use in flash memory systems

Publications (2)

Publication Number Publication Date
CN101036132A CN101036132A (zh) 2007-09-12
CN101036132B true CN101036132B (zh) 2010-05-12

Family

ID=35695695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800318174A Expired - Fee Related CN101036132B (zh) 2004-08-09 2005-08-03 环形总线结构及其在快闪存储器系统中的使用

Country Status (7)

Country Link
US (1) US8375146B2 (zh)
EP (1) EP1787208B1 (zh)
JP (1) JP5192233B2 (zh)
KR (1) KR20070060080A (zh)
CN (1) CN101036132B (zh)
TW (1) TWI439866B (zh)
WO (1) WO2006017725A2 (zh)

Families Citing this family (281)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373561B2 (en) * 2002-10-29 2008-05-13 Broadcom Corporation Integrated packet bit error rate tester for 10G SERDES
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US8375146B2 (en) 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US7420847B2 (en) * 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail
US7158421B2 (en) * 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US9104315B2 (en) 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US7293212B2 (en) * 2005-03-22 2007-11-06 Arm Limted Memory self-test via a ring bus in a data processing apparatus
US7389459B2 (en) * 2005-03-22 2008-06-17 Arm Limited Provision of debug via a separate ring bus in a data processing apparatus
US7463521B2 (en) * 2005-04-01 2008-12-09 Sandisk Corporation Method for non-volatile memory with managed execution of cached data
US7206230B2 (en) * 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7457910B2 (en) * 2005-06-29 2008-11-25 Sandisk Corproation Method and system for managing partitions in a storage device
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7949845B2 (en) 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7552271B2 (en) 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US7558906B2 (en) 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7480766B2 (en) * 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US20070076502A1 (en) 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
US11948629B2 (en) 2005-09-30 2024-04-02 Mosaid Technologies Incorporated Non-volatile memory device with concurrent bank operations
US20070165457A1 (en) * 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
EP1932158A4 (en) 2005-09-30 2008-10-15 Mosaid Technologies Inc MEMORY WITH OUTPUT CONTROL
US7814262B2 (en) * 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
US7529905B2 (en) 2005-10-13 2009-05-05 Sandisk Corporation Method of storing transformed units of data in a memory system having fixed sized storage blocks
US7877540B2 (en) * 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
US20070143566A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Non-volatile memories with data alignment in a directly mapped file storage system
US7747837B2 (en) * 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7793068B2 (en) * 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US7769978B2 (en) * 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
US20070143378A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Non-volatile memories with adaptive file handling in a directly mapped file storage system
US20070156998A1 (en) * 2005-12-21 2007-07-05 Gorobets Sergey A Methods for memory allocation in non-volatile memories with a directly mapped file storage system
US20070143561A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for adaptive file data handling in non-volatile memories with a directly mapped file storage system
ATE488009T1 (de) * 2006-03-31 2010-11-15 Mosaid Technologies Inc Flash-speichersystem-steuerverfahren
TWI427637B (zh) * 2006-05-05 2014-02-21 Sandisk Technologies Inc 在程式執行期間具有背景資料鎖存快取的非揮發性記憶體及方法
EP2016590B1 (en) 2006-05-05 2011-10-26 SanDisk Corporation Non-volatile memory with background data latch caching during read operations and methods therefor
US7849256B2 (en) * 2006-07-11 2010-12-07 Advanced Micro Devices, Inc. Memory controller with ring bus for interconnecting memory clients to memory devices
US8407395B2 (en) * 2006-08-22 2013-03-26 Mosaid Technologies Incorporated Scalable memory system
WO2008022434A1 (en) * 2006-08-22 2008-02-28 Mosaid Technologies Incorporated Modular command structure for memory and memory system
EP2062261A4 (en) * 2006-08-22 2010-01-06 Mosaid Technologies Inc EVOLVING MEMORY SYSTEM
EP2487794A3 (en) * 2006-08-22 2013-02-13 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US7904639B2 (en) * 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US7734861B2 (en) 2006-09-08 2010-06-08 Sandisk Corporation Pseudo random and command driven bit compensation for the cycling effects in flash memory
US7606966B2 (en) * 2006-09-08 2009-10-20 Sandisk Corporation Methods in a pseudo random and command driven bit compensation for the cycling effects in flash memory
US7885112B2 (en) * 2007-09-07 2011-02-08 Sandisk Corporation Nonvolatile memory and method for on-chip pseudo-randomization of data within a page and between pages
US20080130667A1 (en) * 2006-11-30 2008-06-05 International Business Machines Corporation Distributed arbitration mechanism for ring networks
US7818464B2 (en) * 2006-12-06 2010-10-19 Mosaid Technologies Incorporated Apparatus and method for capturing serial input data
US8010709B2 (en) * 2006-12-06 2011-08-30 Mosaid Technologies Incorporated Apparatus and method for producing device identifiers for serially interconnected devices of mixed type
US8271758B2 (en) * 2006-12-06 2012-09-18 Mosaid Technologies Incorporated Apparatus and method for producing IDS for interconnected devices of mixed type
WO2008067658A1 (en) * 2006-12-06 2008-06-12 Mosaid Technologies Incorporated System and method of operating memory devices of mixed type
US7925854B2 (en) * 2006-12-06 2011-04-12 Mosaid Technologies Incorporated System and method of operating memory devices of mixed type
US8433874B2 (en) * 2006-12-06 2013-04-30 Mosaid Technologies Incorporated Address assignment and type recognition of serially interconnected memory devices of mixed type
US7627718B2 (en) * 2006-12-13 2009-12-01 Intel Corporation Frozen ring cache
US8984249B2 (en) * 2006-12-20 2015-03-17 Novachips Canada Inc. ID generation apparatus and method for serially interconnected devices
US20080155175A1 (en) * 2006-12-26 2008-06-26 Sinclair Alan W Host System That Manages a LBA Interface With Flash Memory
US7917686B2 (en) 2006-12-26 2011-03-29 Sandisk Corporation Host system with direct data file interface configurability
US8046522B2 (en) * 2006-12-26 2011-10-25 SanDisk Technologies, Inc. Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks
US8166267B2 (en) * 2006-12-26 2012-04-24 Sandisk Technologies Inc. Managing a LBA interface in a direct data file memory system
US7739444B2 (en) 2006-12-26 2010-06-15 Sandisk Corporation System using a direct data file system with a continuous logical address space interface
US8209461B2 (en) 2006-12-26 2012-06-26 Sandisk Technologies Inc. Configuration of host LBA interface with flash memory
US8122202B2 (en) 2007-02-16 2012-02-21 Peter Gillingham Reduced pin count interface
US7796462B2 (en) * 2007-02-22 2010-09-14 Mosaid Technologies Incorporated Data flow control in multiple independent port
US8086785B2 (en) 2007-02-22 2011-12-27 Mosaid Technologies Incorporated System and method of page buffer operation for memory devices
WO2008101316A1 (en) 2007-02-22 2008-08-28 Mosaid Technologies Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache
US9396103B2 (en) * 2007-06-08 2016-07-19 Sandisk Technologies Llc Method and system for storage address re-mapping for a memory device
US20090063786A1 (en) * 2007-08-29 2009-03-05 Hakjune Oh Daisy-chain memory configuration and usage
US8825939B2 (en) * 2007-12-12 2014-09-02 Conversant Intellectual Property Management Inc. Semiconductor memory device suitable for interconnection in a ring topology
US8594110B2 (en) 2008-01-11 2013-11-26 Mosaid Technologies Incorporated Ring-of-clusters network topologies
US8131913B2 (en) * 2008-02-04 2012-03-06 Mosaid Technologies Incorporated Selective broadcasting of data in series connected devices
US7430584B1 (en) * 2008-03-12 2008-09-30 Gene Fein Data forwarding storage
US7631051B1 (en) * 2008-09-29 2009-12-08 Gene Fein Geolocation assisted data forwarding storage
US7636758B1 (en) * 2008-07-10 2009-12-22 Gene Fein Advertisement forwarding storage and retrieval network
US7636760B1 (en) * 2008-09-29 2009-12-22 Gene Fein Selective data forwarding storage
US8458285B2 (en) * 2008-03-20 2013-06-04 Post Dahl Co. Limited Liability Company Redundant data forwarding storage
US7636761B1 (en) * 2008-09-29 2009-12-22 Gene Fein Measurement in data forwarding storage
US7599997B1 (en) * 2008-08-01 2009-10-06 Gene Fein Multi-homed data forwarding storage
US7673009B2 (en) * 2008-07-10 2010-03-02 Gene Fein Media delivery in data forwarding storage network
US9203928B2 (en) 2008-03-20 2015-12-01 Callahan Cellular L.L.C. Data storage and retrieval
US7636759B1 (en) * 2008-09-29 2009-12-22 Gene Fein Rotating encryption in data forwarding storage
US7877456B2 (en) * 2008-04-08 2011-01-25 Post Dahl Co. Limited Liability Company Data file forwarding storage and search
US7809873B2 (en) * 2008-04-11 2010-10-05 Sandisk Il Ltd. Direct data transfer between slave devices
US8386585B2 (en) * 2008-04-25 2013-02-26 Tajitshu Transfer Limited Liability Company Real-time communications over data forwarding framework
US20090271562A1 (en) * 2008-04-25 2009-10-29 Sinclair Alan W Method and system for storage address re-mapping for a multi-bank memory device
US7668926B2 (en) * 2008-04-25 2010-02-23 Gene Fein Real-time communications over data forwarding framework
US8452844B2 (en) * 2008-05-07 2013-05-28 Tajitshu Transfer Limited Liability Company Deletion in data file forwarding framework
US7668927B2 (en) * 2008-05-07 2010-02-23 Gene Fein Deletion in data file forwarding framework
KR101431760B1 (ko) * 2008-06-25 2014-08-20 삼성전자주식회사 Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법
US8139390B2 (en) * 2008-07-08 2012-03-20 Mosaid Technologies Incorporated Mixed data rates in memory devices and systems
US8599678B2 (en) 2008-07-10 2013-12-03 Tajitshu Transfer Limited Liability Company Media delivery in data forwarding storage network
US8370446B2 (en) 2008-07-10 2013-02-05 Tajitshu Transfer Limited Liability Company Advertisement forwarding storage and retrieval network
US8478823B2 (en) * 2008-09-29 2013-07-02 Tajitshu Transfer Limited Liability Company Selective data forwarding storage
US7636763B1 (en) * 2008-09-29 2009-12-22 Gene Fein Mixed network architecture in data forwarding storage
US7685248B1 (en) * 2008-09-29 2010-03-23 Gene Fein User interface in data forwarding network
US7636762B1 (en) * 2008-09-29 2009-12-22 Gene Fein Disassembly/reassembly in data forwarding storage
US8352635B2 (en) * 2008-09-29 2013-01-08 Tajitshu Transfer Limited Liability Company Geolocation assisted data forwarding storage
US8161313B2 (en) * 2008-09-30 2012-04-17 Mosaid Technologies Incorporated Serial-connected memory system with duty cycle correction
US8181056B2 (en) * 2008-09-30 2012-05-15 Mosaid Technologies Incorporated Serial-connected memory system with output delay adjustment
US8549209B2 (en) 2008-11-04 2013-10-01 Mosaid Technologies Incorporated Bridging device having a configurable virtual page size
US8880970B2 (en) * 2008-12-23 2014-11-04 Conversant Intellectual Property Management Inc. Error detection method and a system including one or more memory devices
WO2010069045A1 (en) * 2008-12-18 2010-06-24 Mosaid Technologies Incorporated Error detection method and a system including one or more memory devices
US8832353B2 (en) * 2009-04-07 2014-09-09 Sandisk Technologies Inc. Host stop-transmission handling
US8132045B2 (en) * 2009-06-16 2012-03-06 SanDisk Technologies, Inc. Program failure handling in nonvolatile memory
US8307241B2 (en) * 2009-06-16 2012-11-06 Sandisk Technologies Inc. Data recovery in multi-level cell nonvolatile memory
US8521980B2 (en) 2009-07-16 2013-08-27 Mosaid Technologies Incorporated Simultaneous read and write data transfer
US8473669B2 (en) * 2009-12-07 2013-06-25 Sandisk Technologies Inc. Method and system for concurrent background and foreground operations in a non-volatile memory array
US8582382B2 (en) * 2010-03-23 2013-11-12 Mosaid Technologies Incorporated Memory system having a plurality of serially connected devices
US8843692B2 (en) 2010-04-27 2014-09-23 Conversant Intellectual Property Management Inc. System of interconnected nonvolatile memories having automatic status packet
US8463959B2 (en) * 2010-05-31 2013-06-11 Mosaid Technologies Incorporated High-speed interface for daisy-chained devices
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US8452911B2 (en) 2010-09-30 2013-05-28 Sandisk Technologies Inc. Synchronized maintenance operations in a multi-bank storage system
US8645588B2 (en) * 2010-11-01 2014-02-04 Advanced Micro Devices, Inc. Pipelined serial ring bus
KR101841622B1 (ko) * 2010-11-04 2018-05-04 삼성전자주식회사 온-다이 터미네이션 회로를 가지는 불휘발성 메모리 장치 및 그것의 제어 방법
US8472280B2 (en) 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
US8843693B2 (en) 2011-05-17 2014-09-23 SanDisk Technologies, Inc. Non-volatile memory and method with improved data scrambling
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
CN102346726A (zh) * 2011-09-20 2012-02-08 四川卫士通信息安全平台技术有限公司 板载多芯片高速环形互联方法
US8825967B2 (en) 2011-12-08 2014-09-02 Conversant Intellectual Property Management Inc. Independent write and read control in serially-connected devices
US8762627B2 (en) 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
KR20140006344A (ko) * 2012-07-04 2014-01-16 에스케이하이닉스 주식회사 메모리 시스템 및 그것에 포함된 메모리 장치의 동작 방법
US9471484B2 (en) 2012-09-19 2016-10-18 Novachips Canada Inc. Flash memory controller having dual mode pin-out
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling in a multi-layer memory
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US9336133B2 (en) 2012-12-31 2016-05-10 Sandisk Technologies Inc. Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US9734050B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
CN105027211B (zh) 2013-01-31 2018-09-21 慧与发展有限责任合伙企业 自适应粒度行缓冲器高速缓存
JP2014179141A (ja) * 2013-03-14 2014-09-25 Toshiba Corp 半導体記憶装置
US9037902B2 (en) 2013-03-15 2015-05-19 Sandisk Technologies Inc. Flash memory techniques for recovering from write interrupt resulting from voltage fault
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US8850108B1 (en) 2014-06-04 2014-09-30 Pure Storage, Inc. Storage cluster
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
US11652884B2 (en) 2014-06-04 2023-05-16 Pure Storage, Inc. Customized hash algorithms
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
US9836234B2 (en) 2014-06-04 2017-12-05 Pure Storage, Inc. Storage cluster
US9213485B1 (en) 2014-06-04 2015-12-15 Pure Storage, Inc. Storage system architecture
US11068363B1 (en) 2014-06-04 2021-07-20 Pure Storage, Inc. Proactively rebuilding data in a storage cluster
US11960371B2 (en) 2014-06-04 2024-04-16 Pure Storage, Inc. Message persistence in a zoned system
US11886308B2 (en) 2014-07-02 2024-01-30 Pure Storage, Inc. Dual class of service for unified file and object messaging
US9836245B2 (en) 2014-07-02 2017-12-05 Pure Storage, Inc. Non-volatile RAM and flash memory in a non-volatile solid-state storage
US11604598B2 (en) 2014-07-02 2023-03-14 Pure Storage, Inc. Storage cluster with zoned drives
US10114757B2 (en) 2014-07-02 2018-10-30 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US9021297B1 (en) 2014-07-02 2015-04-28 Pure Storage, Inc. Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US9747229B1 (en) 2014-07-03 2017-08-29 Pure Storage, Inc. Self-describing data format for DMA in a non-volatile solid-state storage
US8874836B1 (en) 2014-07-03 2014-10-28 Pure Storage, Inc. Scheduling policy for queues in a non-volatile solid-state storage
US10853311B1 (en) 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9082512B1 (en) 2014-08-07 2015-07-14 Pure Storage, Inc. Die-level monitoring in a storage cluster
US10983859B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Adjustable error correction based on memory health in a storage unit
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US9766972B2 (en) 2014-08-07 2017-09-19 Pure Storage, Inc. Masking defective bits in a storage array
US9691452B2 (en) 2014-08-15 2017-06-27 Micron Technology, Inc. Apparatuses and methods for concurrently accessing different memory planes of a memory
US10079711B1 (en) 2014-08-20 2018-09-18 Pure Storage, Inc. Virtual file server with preserved MAC address
CN106068644B (zh) * 2014-09-26 2019-03-01 奥林巴斯株式会社 传送系统和处理装置
US9948615B1 (en) 2015-03-16 2018-04-17 Pure Storage, Inc. Increased storage unit encryption based on loss of trust
US11294893B2 (en) 2015-03-20 2022-04-05 Pure Storage, Inc. Aggregation of queries
US9940234B2 (en) 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US9672125B2 (en) 2015-04-10 2017-06-06 Pure Storage, Inc. Ability to partition an array into two or more logical arrays with independently running software
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US9817576B2 (en) 2015-05-27 2017-11-14 Pure Storage, Inc. Parallel update to NVRAM
US10846275B2 (en) 2015-06-26 2020-11-24 Pure Storage, Inc. Key management in a storage device
US10983732B2 (en) 2015-07-13 2021-04-20 Pure Storage, Inc. Method and system for accessing a file
US11232079B2 (en) 2015-07-16 2022-01-25 Pure Storage, Inc. Efficient distribution of large directories
US10108355B2 (en) 2015-09-01 2018-10-23 Pure Storage, Inc. Erase block state detection
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US10853266B2 (en) 2015-09-30 2020-12-01 Pure Storage, Inc. Hardware assisted data lookup methods
US10762069B2 (en) 2015-09-30 2020-09-01 Pure Storage, Inc. Mechanism for a system where data and metadata are located closely together
US9768953B2 (en) 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10042553B2 (en) 2015-10-30 2018-08-07 Sandisk Technologies Llc Method and system for programming a multi-layer non-volatile memory having a single fold data path
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling in a non-volatile memory
US9778855B2 (en) 2015-10-30 2017-10-03 Sandisk Technologies Llc System and method for precision interleaving of data writes in a non-volatile memory
US9910594B2 (en) 2015-11-05 2018-03-06 Micron Technology, Inc. Apparatuses and methods for concurrently accessing multiple memory planes of a memory during a memory access operation
US10007457B2 (en) 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
US9760297B2 (en) 2016-02-12 2017-09-12 Pure Storage, Inc. Managing input/output (‘I/O’) queues in a data storage system
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
US11861188B2 (en) 2016-07-19 2024-01-02 Pure Storage, Inc. System having modular accelerators
US10768819B2 (en) 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
US9672905B1 (en) 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
US11449232B1 (en) 2016-07-22 2022-09-20 Pure Storage, Inc. Optimal scheduling of flash operations
US11080155B2 (en) 2016-07-24 2021-08-03 Pure Storage, Inc. Identifying error types among flash memory
US11604690B2 (en) 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
US10216420B1 (en) 2016-07-24 2019-02-26 Pure Storage, Inc. Calibration of flash channels in SSD
US11886334B2 (en) 2016-07-26 2024-01-30 Pure Storage, Inc. Optimizing spool and memory space management
US11797212B2 (en) 2016-07-26 2023-10-24 Pure Storage, Inc. Data migration for zoned drives
US11734169B2 (en) 2016-07-26 2023-08-22 Pure Storage, Inc. Optimizing spool and memory space management
US10366004B2 (en) 2016-07-26 2019-07-30 Pure Storage, Inc. Storage system with elective garbage collection to reduce flash contention
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
JP6178909B1 (ja) * 2016-09-15 2017-08-09 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体記憶装置
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US9747158B1 (en) 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
US11955187B2 (en) 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
US10979223B2 (en) 2017-01-31 2021-04-13 Pure Storage, Inc. Separate encryption for a solid-state drive
US10860552B2 (en) * 2017-03-10 2020-12-08 Schweitzer Engineering Laboratories, Inc. Distributed resource parallel-operated data sorting systems and methods
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11016667B1 (en) 2017-04-05 2021-05-25 Pure Storage, Inc. Efficient mapping for LUNs in storage memory with holes in address space
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10516645B1 (en) 2017-04-27 2019-12-24 Pure Storage, Inc. Address resolution broadcasting in a networked device
US10141050B1 (en) 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
CN107134294B (zh) * 2017-05-27 2020-04-24 北京东土军悦科技有限公司 一种ecc信息获取方法及系统
CN107239363B (zh) * 2017-05-27 2020-04-24 北京东土军悦科技有限公司 一种ecc信息上报方法及系统
US11467913B1 (en) 2017-06-07 2022-10-11 Pure Storage, Inc. Snapshots with crash consistency in a storage system
US11782625B2 (en) 2017-06-11 2023-10-10 Pure Storage, Inc. Heterogeneity supportive resiliency groups
US11947814B2 (en) 2017-06-11 2024-04-02 Pure Storage, Inc. Optimizing resiliency group formation stability
US11138103B1 (en) 2017-06-11 2021-10-05 Pure Storage, Inc. Resiliency groups
US10425473B1 (en) 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10877827B2 (en) 2017-09-15 2020-12-29 Pure Storage, Inc. Read voltage optimization
US10210926B1 (en) 2017-09-15 2019-02-19 Pure Storage, Inc. Tracking of optimum read voltage thresholds in nand flash devices
US10515701B1 (en) 2017-10-31 2019-12-24 Pure Storage, Inc. Overlapping raid groups
US11024390B1 (en) 2017-10-31 2021-06-01 Pure Storage, Inc. Overlapping RAID groups
US10545687B1 (en) 2017-10-31 2020-01-28 Pure Storage, Inc. Data rebuild when changing erase block sizes during drive replacement
US10496330B1 (en) 2017-10-31 2019-12-03 Pure Storage, Inc. Using flash storage devices with different sized erase blocks
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10990566B1 (en) 2017-11-20 2021-04-27 Pure Storage, Inc. Persistent file locks in a storage system
US10929053B2 (en) 2017-12-08 2021-02-23 Pure Storage, Inc. Safe destructive actions on drives
US10719265B1 (en) 2017-12-08 2020-07-21 Pure Storage, Inc. Centralized, quorum-aware handling of device reservation requests in a storage system
CN109947605A (zh) * 2017-12-21 2019-06-28 北京比特大陆科技有限公司 故障诊断方法
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10733053B1 (en) 2018-01-31 2020-08-04 Pure Storage, Inc. Disaster recovery for high-bandwidth distributed archives
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US10976948B1 (en) 2018-01-31 2021-04-13 Pure Storage, Inc. Cluster expansion mechanism
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US10931450B1 (en) 2018-04-27 2021-02-23 Pure Storage, Inc. Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers
US10853146B1 (en) 2018-04-27 2020-12-01 Pure Storage, Inc. Efficient data forwarding in a networked device
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US11438279B2 (en) 2018-07-23 2022-09-06 Pure Storage, Inc. Non-disruptive conversion of a clustered service from single-chassis to multi-chassis
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US10454498B1 (en) 2018-10-18 2019-10-22 Pure Storage, Inc. Fully pipelined hardware engine design for fast and efficient inline lossless data compression
US10976947B2 (en) 2018-10-26 2021-04-13 Pure Storage, Inc. Dynamically selecting segment heights in a heterogeneous RAID group
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
TWI791244B (zh) * 2019-04-07 2023-02-01 新唐科技股份有限公司 監控系統開機之安全裝置及其方法
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11714572B2 (en) 2019-06-19 2023-08-01 Pure Storage, Inc. Optimized data resiliency in a modular storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
CN112286842B (zh) * 2019-07-22 2023-07-04 苏州库瀚信息科技有限公司 用于存储器控制器与存储器设备互连的总线
US11893126B2 (en) 2019-10-14 2024-02-06 Pure Storage, Inc. Data deletion for a multi-tenant environment
US11847331B2 (en) 2019-12-12 2023-12-19 Pure Storage, Inc. Budgeting open blocks of a storage unit based on power loss prevention
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11188432B2 (en) 2020-02-28 2021-11-30 Pure Storage, Inc. Data resiliency by partially deallocating data blocks of a storage device
TWI759703B (zh) * 2020-03-20 2022-04-01 群聯電子股份有限公司 電路布局結構與記憶體儲存裝置
US11507297B2 (en) 2020-04-15 2022-11-22 Pure Storage, Inc. Efficient management of optimal read levels for flash storage systems
US11256587B2 (en) 2020-04-17 2022-02-22 Pure Storage, Inc. Intelligent access to a storage device
US11416338B2 (en) 2020-04-24 2022-08-16 Pure Storage, Inc. Resiliency scheme to enhance storage performance
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US11768763B2 (en) 2020-07-08 2023-09-26 Pure Storage, Inc. Flash secure erase
CN114064527A (zh) * 2020-07-30 2022-02-18 苏州库瀚信息科技有限公司 无单一失败点的存储装置
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
US11513974B2 (en) 2020-09-08 2022-11-29 Pure Storage, Inc. Using nonce to control erasure of data blocks of a multi-controller storage system
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
US11630593B2 (en) 2021-03-12 2023-04-18 Pure Storage, Inc. Inline flash memory qualification in a storage system
US11507597B2 (en) 2021-03-31 2022-11-22 Pure Storage, Inc. Data replication to meet a recovery point objective
CN113722770A (zh) * 2021-08-18 2021-11-30 上海励驰半导体有限公司 基于分级的数据完整性的端到端的保护方法及系统
US11832410B2 (en) 2021-09-14 2023-11-28 Pure Storage, Inc. Mechanical energy absorbing bracket apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1414566A (zh) * 2001-06-27 2003-04-30 三因迪斯克公司 降低非易失性存储器存储元件间耦合效应的方法
US6625687B1 (en) * 2000-09-18 2003-09-23 Intel Corporation Memory module employing a junction circuit for point-to-point connection isolation, voltage translation, data synchronization, and multiplexing/demultiplexing
US6640322B1 (en) * 2000-03-22 2003-10-28 Sun Microsystems, Inc. Integrated circuit having distributed control and status registers and associated signal routing means

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3190530A (en) 1961-05-10 1965-06-22 Illinois Tool Works Thin wall container with thickened rim structure
US4034036A (en) 1975-10-31 1977-07-05 Consupak, Inc. Parison control in longitudinal stretch
US4406004A (en) * 1980-11-05 1983-09-20 Anaconda-Ericsson, Inc. Ring scheduling apparatus for a digital multiplexed telecommunication system
US4527270A (en) * 1983-05-04 1985-07-02 Allen-Bradley Company Communications network with stations that detect and automatically bypass faults
JPS60141049A (ja) 1983-12-28 1985-07-26 Hitachi Ltd ル−プネツトワ−ク制御方式
ATE71762T1 (de) 1985-07-12 1992-02-15 Anamartic Ltd Scheibenbereichsschaltungsintegrierter speicher.
GB8606695D0 (en) 1986-03-18 1986-04-23 Sinclair Res Ltd Random chip addressing algorithm for wsi
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5043940A (en) 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5070032A (en) 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
JPH03179952A (ja) 1989-12-08 1991-08-05 Nec Corp 時分割多重ループ型バスシステム
JPH03262234A (ja) 1990-03-13 1991-11-21 Nec Corp パケット交換装置の転送制御方式
US5255371A (en) * 1990-04-02 1993-10-19 Unisys Corporation Apparatus for interfacing a real-time communication link to an asynchronous digital computer system by utilizing grouped data transfer commands
GB2244826A (en) 1990-06-08 1991-12-11 Anamartic Ltd Linking circuit modules
JPH04156741A (ja) 1990-10-19 1992-05-29 Nec Corp ループ・バス転送方式
US5343063A (en) 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5313421A (en) 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
US5444695A (en) * 1993-01-11 1995-08-22 Forte Networks, Inc. Token ring local area network testing apparatus providing station history information
US5689678A (en) * 1993-03-11 1997-11-18 Emc Corporation Distributed storage array system having a plurality of modular control units
US5555204A (en) 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5414762A (en) * 1994-01-18 1995-05-09 Q.Sys International, Inc. Telephony controller with functionality command converter
US5661053A (en) 1994-05-25 1997-08-26 Sandisk Corporation Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers
DE4423372A1 (de) 1994-07-04 1996-01-11 Ruppert Hans Peter Verfahren und Vorrichtung zum Anformen von Flanschen an Rohre aus teilkristallinen Thermoplasten
US5570425A (en) * 1994-11-07 1996-10-29 Digisonix, Inc. Transducer daisy chain
EP0843856A1 (de) 1995-08-11 1998-05-27 Siemens Nixdorf Informationssysteme AG Anordnung zum anschluss peripherer speichergeräte
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5798968A (en) 1996-09-24 1998-08-25 Sandisk Corporation Plane decode/virtual sector architecture
US5890192A (en) 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
JP3455040B2 (ja) 1996-12-16 2003-10-06 株式会社日立製作所 ソースクロック同期式メモリシステムおよびメモリユニット
US5908468A (en) 1997-10-24 1999-06-01 Advanced Micro Devices, Inc. Data transfer network on a chip utilizing a multiple traffic circle topology
US6237791B1 (en) 1997-04-09 2001-05-29 Dtl Technology Limited Partnership Wide mouth hot fill container
US6611537B1 (en) * 1997-05-30 2003-08-26 Centillium Communications, Inc. Synchronous network for digital media streams
US6115756A (en) 1997-06-27 2000-09-05 Sun Microsystems, Inc. Electro-optically connected multiprocessor and multiring configuration for dynamically allocating time
US5930167A (en) 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
AU9119098A (en) * 1997-08-25 1999-03-16 Richard A. Holub A system for distributing and controlling color reproduction at multiple sites
US6700899B1 (en) * 1998-02-03 2004-03-02 Broadcom Corporation Bit slice arbiter
IL130796A (en) 1999-07-05 2003-07-06 Brightcom Technologies Ltd Packet processor
KR100363884B1 (ko) * 1999-12-27 2002-12-11 한국전자통신연구원 파장분할다중 기반 인터넷 프로토콜 망 구조와, 이러한 망구조에서의 패킷 송수신 시스템 및 방법
US6697373B1 (en) * 2000-01-18 2004-02-24 Mark Henrik Sandstrom Automatic method for dynamically matching the capacities of connections in a SDH/SONET network combined with fair sharing of network resources
US6842769B1 (en) * 2000-05-05 2005-01-11 Interland, Inc. Automatically configured network server
US6266273B1 (en) 2000-08-21 2001-07-24 Sandisk Corporation Method and structure for reliable data copy operation for non-volatile memories
US6658509B1 (en) 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
JP2002164941A (ja) * 2000-11-28 2002-06-07 Toshiba Corp 半導体装置及びデータ伝送システム
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP3631463B2 (ja) 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
US6574719B2 (en) 2001-07-12 2003-06-03 International Business Machines Corporation Method and apparatus for concurrently communicating with multiple embedded dynamic random access memory devices
US7239606B2 (en) * 2001-08-08 2007-07-03 Compunetix, Inc. Scalable configurable network of sparsely interconnected hyper-rings
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6925007B2 (en) 2001-10-31 2005-08-02 Sandisk Corporation Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements
JP2003186822A (ja) * 2001-12-19 2003-07-04 Canon Inc モジュール間通信方法および装置
US7099922B2 (en) 2002-01-23 2006-08-29 International Business Machines Corporation Method and system for simultaneous management of multiple tokens on a communication ring
US7485499B2 (en) * 2004-07-29 2009-02-03 Sandisk Corporation Customized non-volatile memory device packages
US8375146B2 (en) 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6640322B1 (en) * 2000-03-22 2003-10-28 Sun Microsystems, Inc. Integrated circuit having distributed control and status registers and associated signal routing means
US6625687B1 (en) * 2000-09-18 2003-09-23 Intel Corporation Memory module employing a junction circuit for point-to-point connection isolation, voltage translation, data synchronization, and multiplexing/demultiplexing
CN1414566A (zh) * 2001-06-27 2003-04-30 三因迪斯克公司 降低非易失性存储器存储元件间耦合效应的方法

Also Published As

Publication number Publication date
TW200627174A (en) 2006-08-01
TWI439866B (zh) 2014-06-01
JP2008509499A (ja) 2008-03-27
EP1787208A2 (en) 2007-05-23
US8375146B2 (en) 2013-02-12
CN101036132A (zh) 2007-09-12
EP1787208B1 (en) 2015-03-18
US20060031593A1 (en) 2006-02-09
JP5192233B2 (ja) 2013-05-08
KR20070060080A (ko) 2007-06-12
WO2006017725A3 (en) 2006-08-24
WO2006017725A2 (en) 2006-02-16

Similar Documents

Publication Publication Date Title
CN101036132B (zh) 环形总线结构及其在快闪存储器系统中的使用
CN101675478B (zh) 具有一个或多个存储器设备的系统
US8046527B2 (en) Apparatus and method for using a page buffer of a memory device as a temporary cache
JP3979486B2 (ja) 不揮発性記憶装置およびデータ格納方法
US7360003B2 (en) Multiple mode communication system
CN101308698B (zh) 存储装置
CN102999452A (zh) 存储器设备
US9063849B2 (en) Different types of memory integrated in one chip by using a novel protocol
CN101842846A (zh) 可兼容双重功能的非易失性存储器装置
KR20100087324A (ko) 동기식 직렬 인터페이스 nand를 위한 설정 액세스 및 변경을 위한 시스템 및 방법
CN102317928A (zh) 修改命令
CN102132354A (zh) 闪存中的数据的快速低功率读取
CN106325765A (zh) 用于通过多个通道来控制半导体存储器件的存储系统
US7831755B2 (en) Method and system for interfacing a plurality of memory devices using an MMC/SD protocol
CN100573493C (zh) Spi总线至少一管脚每半脉冲周期传输一比特的方法及装置
US7971024B2 (en) Off-chip micro control and interface in a multichip integrated memory system
CN103793354B (zh) 在多模总线的多引脚传输数据的方法及装置
CN107122323B (zh) 在多模总线的多引脚传输数据的方法及装置
CN210072600U (zh) 电子设备
CN103365789B (zh) 数据存储装置和flash存储装置的块删除块写入方法

Legal Events

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

Owner name: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: SANDISK CORP.

Effective date: 20120322

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120322

Address after: Texas, USA

Patentee after: Sanindisco Technology Co.,Ltd.

Address before: California, USA

Patentee before: Sandisk Corp.

C56 Change in the name or address of the patentee

Owner name: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: SANDISK TECHNOLOGIES, INC.

CP01 Change in the name or title of a patent holder

Address after: Texas, USA

Patentee after: Sandy Technology Corp.

Address before: Texas, USA

Patentee before: Sanindisco Technology Co.,Ltd.

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Texas, USA

Patentee after: SANDISK TECHNOLOGIES LLC

Address before: Texas, USA

Patentee before: Sandy Technology Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100512