CN101114255A - 用于将数据写入快闪存储设备的半导体存储器的装置和方法 - Google Patents
用于将数据写入快闪存储设备的半导体存储器的装置和方法 Download PDFInfo
- Publication number
- CN101114255A CN101114255A CNA2007101472279A CN200710147227A CN101114255A CN 101114255 A CN101114255 A CN 101114255A CN A2007101472279 A CNA2007101472279 A CN A2007101472279A CN 200710147227 A CN200710147227 A CN 200710147227A CN 101114255 A CN101114255 A CN 101114255A
- Authority
- CN
- China
- Prior art keywords
- page
- piece
- data
- leaf
- logical
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- 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/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
从写目标页的逻辑地址中识别源块(B0)和该写目标页的逻辑页号(“8”)。将要被写入的数据对象(DN8、DN9……DN12)(主机将其存储在页缓冲器(2)中)从该顶页(Q0)开始顺次被写入目的块(Bn)的各页(Q0、Q1……Q4)的数据区(DA)。该写目标页的逻辑页号(“8”)被写入该顶页(Q0)的冗余区(RA)。根据该写目标页的逻辑页号(“8”)和该源块(B0)的页偏移量(“2”),来识别该写目标页的物理页号(“6=8-2”)。当被该主机通知这些数据对象(DN8……DN12)的发送结束时,从以循环方式位于该写目标页(P6)后面的这些数据对象(DN8……DN12)的页数(“5”)的那一页(P11)开始,该源块(B0)中的数据项(D13……D31、D0、D1……D7)经由该页缓冲器(2)被顺序地、循环地传送到该目的块(Bn)中的各页(Q5、Q6……Q31)。
Description
本发明专利申请是国际申请号为PCT/JP2003/010718,国际申请日为2003年8月25日,进入中国国家阶段的申请号为03801476.9,名称为“用于将数据写入快闪存储设备的半导体存储器的装置和方法”的发明专利申请的分案申请。
技术领域
本发明涉及一种包括快闪存储设备的半导体存储器的装置。特别是,本发明涉及一种用于将数据写入该快闪存储设备的方法。
背景技术
信息处理设备以及近年来的家用电器(例如,电视机和电冰箱)包括CPU,并且通过软件来实现高级操作控制。这些设备将用于该操作控制和参数的(固件)程序存储在ROM中。包括快闪存储设备的半导体存储器装置被普遍用作这些ROM。此外,这些半导体存储器装置被普遍用于诸如笔记本计算机、个人数字助理(PDA)、数码相机、便携式音频播放机和蜂窝电话等便携式信息处理设备(移动设备)中,作为外部的小型记录介质(比如存储卡)。尤其针对这些用途,这些半导体存储器装置需要具备大容量、小尺寸。
快闪存储设备的存储区通常被分成多页,每页具有固定数量的存储单元。逐页地执行数据的写入和读取。该存储区被进一步分成多个块,每个块具有固定数量的这些页。在这些块中的每个块中共同执行数据擦除。相应地,与RAM对比,从严格意义上讲,无法在该快闪存储设备中执行数据的逐页重写。
例如,如下所述,常规半导体存储器装置实现被存储在快闪存储设备的一些页中的数据的更新(以下被称作“页的更新”),以及将新的数据写到空白页上(以下被称作“页的增加”)。图9展示了:通过该常规半导体存储器装置,来更新或增加快闪存储器1的一个块中的页。
该常规半导体存储器装置包括快闪存储器1和两个RAM:保存缓冲器20和页缓冲器2。快闪存储器1被分成一个以上的块B0、B1......。将物理地址分配给这些块B0、B1......中的每个块。这些块中的每个块包括32页。例如,头块(或第一个块)B0包括页P0、P1......和P31,第(n+1)个块Bn(n≥1)包括页Q0、Q1......和Q31。这个块中的页由该块的物理地址和该块中的页号这一对数据来加以识别。例如,这些页号是从其顶页开始顺次安置在这个块的各页上的序号0-31。保存缓冲器20和页缓冲器2每个都具备实质上与快闪存储器1的一页的存储容量相等的存储容量。
主机将逻辑地址发送到该半导体存储器装置,该逻辑地址指定写目标页和将要被写入的数据对象。该半导体存储器装置将这些数据对象DN存储在页缓冲器2中。另一方面,该半导体存储器装置从该逻辑地址中识别快闪存储器1中的对应的页。例如,当该逻辑地址指定头块B0的第(p+1)页Pp(0≤p≤3 1)时,该半导体存储器装置将该逻辑地址转换成头块B0的物理地址和第(p+1)页Pp的页号p这一对数据。该物理地址被识别为作为数据传送源的块(以下被称作“源块”)的物理地址。然后,在快闪存储器1中,该半导体存储器装置选择其中还没有写入数据的一个块(以下被称作“空白块”)。例如,该半导体存储器装置选择作为该空白块的第(n+1)个块Bn。第(n+1)个块Bn的物理地址被识别为块的物理地址,源块B0中所存储的数据被传送到该块(以下被称作“目的块”)。
如下所述,该常规半导体存储器装置将被存储在源块B0中的数据项传送到目的块Bn。首先,将源块B0的顶页P0的数据项D0读入保存缓冲器20(见图9中所示的箭头R0)。接下来,将保存缓冲器20的数据项D0写到目的块Bn的顶页Q0上(见图9中所示的箭头W0)。然后,将源块B0的第二页P1的数据项D 1读入保存缓冲器20(见图9中所示的箭头R1)。随后,将保存缓冲器20的数据项D1写到目的块Bn的第二页Q1上(见图9中所示的箭头W1)。将经由保存缓冲器20的这种数据传送重复与该写目标页(源块B0的第(p+1)页Pp)的页号p相同的次数(=p次)。当源块B0的写目标页(第(p+1)页)Pp被设置为数据读取的源页时,该半导体存储器装置为该页跳过对保存缓冲器20的数据传送。而将将要被写入的数据对象DN(被存储在页缓冲器2中)写到目的块Bn的第(p+1)页Qp上(见图9中所示的箭头Wp)。再次从与源块B0的写目标页Pp(第(p+2)页)邻接的页开始,重复经由保存缓冲器20的数据传送。将源块B0的底页P31的数据项D31经由保存缓冲器20写到目的块Bn的底页Q31上(见图9中所示的箭头R31和W31)。该半导体存储器装置使对应于源块B0的物理地址的逻辑地址与目的块Bn的物理地址相一致。与源块B0对比,在目的块Bn中重写具有页号p的第(p+1)页Pp上的数据项。这样,该常规半导体存储器装置为快闪存储器1的一个块实现页的更新和增加。
要求半导体存储器装置尽可能地具备大容量和小尺寸。但是,要改进这些快闪存储设备的组装密度并不容易。相应地,需要减小除这些快闪存储设备以外的电路部分的尺寸。例如,当许多功能部件每个都包括公用电路部件时,这些公用部件将被并入单一部分。由此,需要减少这些公用部件的数量。更需要减小这些半导体存储器装置的尺寸,因为这可通过缩减芯片区来降低生产成本。如上所述,该常规半导体存储器装置具有两个RAM--保存缓冲器和页缓冲器。这些RAM共享共同的性质--被用作缓冲存储器,并具有实质上与该快闪存储设备的一页的存储容量相同的存储容量。相应地,强烈需要将该保存缓冲器和该页缓冲器集成为一个RAM。但是,如上所述,在该常规半导体存储器装置所执行的页的更新的过程中,该页缓冲器必须保存将要被写入的数据对象,直到该写目标页被设置为保存目标为止。所以,该页缓冲器要加倍作为该保存缓冲器是很困难的。
发明内容
本发明的目的是:提供一种半导体存储器装置,其中,通过将该保存缓冲器和该页缓冲器集成为单一RAM,来减小RAM的尺寸,从而实现小型化。
根据本发明的半导体存储器装置包括:
(A)快闪存储设备,它包括一个以上的块(其中的每个块包括不止一页)和页偏移量存储区,这每个块的页偏移量被存储在该页偏移量存储区内,并且数据是从该空白块的顶页开始顺次写入空白块,
(B)页缓冲器,其中暂时存储实质上与这些页中的一页的数据存储容量相同的数据量;
(C)地址转换装置,用于从主机接收规定写目标页的逻辑地址,并用于将该逻辑地址转换成该写目标页所属的块(以下被称作“源块”)的物理地址和该写目标页的逻辑页号这一对数据;以及,
(D)存储控制装置,用于(a)读取该源块的物理地址和该写目标页的逻辑页号,(b)将这些空白块之一选作目的块,(c)根据该写目标页的逻辑页号来确定该目的块的页偏移量,并且,将该页偏移量写入该页偏移量存储区,作为该目的块的页偏移量,(d)从该页偏移量存储区读取该源块的页偏移量,(e)根据该源块的页偏移量和该写目标页的逻辑页号来获得该写目标页的物理页号,(f)从目的块的顶页开始顺次将将要被写入的数据对象(从该主机被传送到该页缓冲器)写入该目的块,(g)根据这些数据对象的页数和该写目标页的物理页号来获得该源块的传送起始页的物理页号,以及(h)经由该页缓冲器,将该源块中所存储的数据从该传送起始页顺序地、循环地传送到其中写入该数据对象的目的块的页区大一页或后面的页。
这些逻辑页号是由该主机分配给该快闪存储设备中的各页的序号。这些物理页号是从该顶页开始顺次置于该快闪存储设备中的每个块的各页上的序号。块的页偏移量意味着这个块中的逻辑页顺序对物理页顺序的循环偏离。这个块的页偏移量较佳地等同于这个块的顶页的逻辑页号。根据本发明的以上所描述的半导体存储器装置将各个块的页偏移量存储在该快闪存储设备中。这里,除了这些页偏移量本身以外,实际存储的数据项可能是特定页的逻辑页号。这些页偏移量存储区较佳的是这各个块的顶页的冗余区。该页的冗余区是可独立于该页的数据区来加以存取的存储区。例如,对应于该页的逻辑地址、示出该页是否是空白页的标记、示出启用/禁止使用被写到该页上的数据(换言之,允许/禁止该主机对该页的存取)的标记,以及该数据的差错检测码(例如,CRC)被存储在该页的冗余区中。除了该快闪存储设备中的页偏移量存储区以外,还可能将关于这些页偏移量的存储空间分配给与以上所描述的快闪存储设备分开的非易失存储器(以下被称作“页偏移量存储装置”)。例如,该页偏移量存储装置被包括在该存储器控制装置中。该页缓冲器是RAM,最好是SRAM。将要被写入的数据对象的页数意味着用该快闪存储设备中的每一页的数据存储容量这个单位表达的数据对象的数量。这些数据对象的页数等同于其中写入这些数据对象的目的块的页区的页数。
在根据本发明的以上所描述的半导体存储器装置中,该快闪存储设备中的各页的逻辑页号可能从这各个块中的、采用循环方式的各页的物理页号平移形成。根据该页的逻辑页号和该页所属的块的页偏移量来计算每页的物理页号。当从该主机接收关于更新一些页或在块中增加新的页的指令时,根据本发明的以上所描述的半导体存储器装置首先将将要被写入的数据对象(从该主机被传送到该页缓冲器)从目的块的顶页开始顺次写入该目的块。由此,在关于该源块的保存过程开始之前,该页缓冲器得到释放。相应地,根据本发明的以上所描述的半导体存储器装置可以在保存该源块的时候,将该页缓冲器用作保存缓冲器。结果,根据本发明的以上所描述的半导体存储器装置所拥有的RAM的尺寸小于常规装置的RAM的尺寸。所以,当这些快闪存储设备的尺寸固定时,根据本发明的以上所描述的半导体存储器装置的整体尺寸小于该常规装置的整体尺寸。
根据本发明的以上所描述的半导体存储器装置还可以包括:(a)主机接口,用于接收从该主机那里被发出的该写目标页和该数据对象的逻辑地址;以及(b)地址转换表格存储装置,用于存储表现关于该快闪存储设备中的每个块的逻辑地址与物理地址之间的对应性的逻辑/物理地址转换表格,以及用于示出这些块中的每个块是否是该空白块的标记;并且,当该页数达到预定数量时,或者当该主机通知该数据对象的发送结束时,以上所描述的存储器控制装置可以计算这些数据对象的页数,并可以开始从该源块到该目的块的数据传输。这里,该地址转换表格存储器装置最好是RAM。该逻辑/物理地址转换表格表现了被分配给该快闪存储设备中的每个块的逻辑地址与该块的物理地址之间的对应性。
由于该主机接口不受该存储器控制装置的支配,因此,独立于该快闪存储设备中的数据写入/读取来执行该主机与该半导体存储器装置之间的数据通信。由此,例如,缩短了用于将数据写入该快闪存储设备的该主机的等待延迟时间。
例如,该地址转换装置扫描该快闪存储设备中的各页的冗余区。由此,列出该快闪存储设备中的各个块的逻辑地址。这样,该地址转换装置创建了该逻辑/物理地址转换表格,并且将该表格存入该地址转换表格存储装置。当将该写目标页的逻辑地址转换成该源块的物理地址和该写目标页的逻辑页号这一对数据时,该地址转换装置参考该逻辑/物理地址转换表格。由此,该装置可以迅速检索对应于该逻辑地址的物理地址。
该地址转换装置根据被存储在这些扫描过的冗余区中的数据项,来进一步检验每个块是否是空白块。由此,该装置确定关于这各个块的以上所描述的标记,并且将这些标记存入该地址转换表格存储装置。当将这些空白块之一选作目的块时,该存储控制装置参考这些以上所描述的标记。由此,该装置可以迅速确定该目的块。
例如,当将要被写入的数据对象(该主机将它们存储在该页缓冲器中)从该页缓冲器传送到该目的块时,该存储控制装置计算该传送次数。该主机可以(例如)使用预定命令来通知该半导体存储器装置:这些数据对象的发送结束。在那种情况下,该存储器控制装置可以在接收该通知时,从以上所描述的传送次数中检测到这些数据对象的页数。同时,该存储器控制装置开始从该源块到该目的块的数据传送。作为选择,该主机可以在发送这些数据对象之前,将这些数据对象的页数通知给该半导体存储器装置。在那种情况下,当以上所描述的传送次数达到所通知的页数时,该存储控制部件开始从该源块到该目的块的数据传送。
一种将数据写入快闪存储设备的方法,该方法将数据写入包括一个以上的块(其中的每个块包括不止一页)的快闪存储设备,并从空白块的顶页开始顺次将数据写入该空白块;
该方法包括以下步骤:
(A)从主机接收规定写目标页的逻辑地址;
(B)将该逻辑地址转换成源块的物理地址和该写目标页的逻辑页号这一对数据;
(C)将这些空白块之一选作目的块;
(D)根据该写目标页的逻辑页号来确定该目的块的页偏移量,并且,将该页偏移量写入该快闪存储设备中的页偏移量存储区,作为该目的块的页偏移量;
(E)从该页偏移量存储区读取该源块的页偏移量;
(F)根据该源块的页偏移量和该写目标页的逻辑页号,来确定该写目标页的物理页号;
(G)从目标块的顶页开始顺次将将要被写入的数据对象(从该主机被传送到页缓冲器)写入该目的块;以及,
(H)根据这些数据对象的页数和该写目标页的物理页号来获得该源块的传送起始页的物理页号,并且,经由该页缓冲器,将被存储在该源块中的数据从该传送起始页顺序地、循环地传送到其中写入该数据对象的目的块的页下一页或后面的页。这里,用类似于以上所描述的方式的一种方式来定义该逻辑页号、该物理页号、该块的页偏移量、该页偏移量存储区(或该页偏移量存储装置)、该页缓冲器和将要被写入的数据对象的页数。
在根据本发明来写入数据的以上所描述的方法中,该快闪存储设备中的各页的逻辑页号可以从这各个块中的、采用循环方式的各页的物理页号平移形成。根据该页的逻辑页号和该页所属的这个块的页偏移量,来计算每页的物理页号。当该主机提供关于更新一些页或在块中增加新的页的指令时,将要被写入的数据对象(从该主机被传送到该页缓冲器)首先从目的块的顶页开始顺次被写入该目的块。由此,在对于该源块的保存过程开始之前,该页缓冲器得到释放。相应地,在保存该源块的时候,该页缓冲器可以加倍作为保存缓冲器。结果,用于写入数据的上述方法中所要求的RAM尺寸小于该常规方法的RAM尺寸。所以,当这些快闪存储设备的尺寸固定时,半导体存储器装置的整体尺寸小于该常规装置的整体尺寸。
根据本发明来写入数据的方法还可以包括这个步骤:当该页数达到预定数量时,或者当该主机通知该数据对象的发送结束时,计算该目的块(这些数据对象被写入其中)的页区的页数,并且开始从该源块到该目的块的数据传输。例如,每当该数据对象从该页缓冲器被传送到该目的块时,计算该传送次数。该主机可以(例如)使用预定命令来通知该半导体存储器装置:该数据对象的发送结束。在那种情况下,在接收该通知时,从以上所描述的该传送次数中可检测到以上所描述的页区的页数。此外,在该通知的时候,开始从该源块到该目的块的数据传送。作为选择,该主机可以在发送这些数据对象之前,将这些数据对象的页数通知给该半导体存储器装置。在那种情况下,当以上所描述的该传送次数达到所通知的页数时,开始从该源块到该目的块的数据传送。
在根据本发明的以上所描述的半导体存储器装置及其写入数据的方法中,在关于该源块的保存过程开始之前,该页缓冲器得到释放。相应地,在该保存过程中,该页缓冲器可以加倍作为保存缓冲器使用。结果,以上所描述的半导体存储器装置所拥有的RAM的尺寸小于常规装置的RAM的尺寸。所以,当这些快闪存储设备的尺寸固定时,根据本发明的以上所描述的半导体存储器装置的整体尺寸小于该常规装置的整体尺寸。由于该芯片区特别小,因此,与这些常规装置的生产成本比较,根据本发明的以上所描述的半导体存储器装置的生产成本降得更低。
所附权利要求书中特别陈述了本发明的新颖的特点,但通过以下结合附图的详细说明,将会在组织和内容方面更好地理解和认识本发明及其其他目标和特点。
附图简述
图1是框图,表现了根据本发明的实施例的半导体存储器装置10;
图2是示意图,表现了根据本发明的这个实施例的快闪存储器1中的单元阵列的结构的轮廓;
图3是关于根据本发明的这个实施例的半导体存储器装置10的说明,表示了存储器控制器6为将要被写入的数据对象DN8-DN12从主机H被传送到页缓冲器2而执行的、从页缓冲器2到快闪存储器1的传送过程;
图4是关于根据本发明的这个实施例的半导体存储器装置10的说明,表示了存储器控制器6在图3中所示的数据传送过程之后所执行的从源块B0到目的块Bn的数据传送过程的前半部分;
图5是关于根据本发明的这个实施例的半导体存储器装置10的说明,表示了存储器控制器6在图3中所示的数据传送过程之后所执行的从源块B0到目的块Bn的数据传送过程的后半部分;
图6是由根据本发明的这个实施例的半导体存储器装置10来写入数据的方法的流程图;
图7是将要被写入的数据对象DN(q)-DN(qas+m-1)从页缓冲器2到目的块Bn的传送(步骤7)的流程图,它关于由根据本发明的这个实施例的半导体存储器装置10来写入数据的方法;
图8是从源块B0到目的块Bn的数据传送(步骤S8)的流程图,它关于由根据本发明的这个实施例的半导体存储器装置10来写入数据的方法;
图9展示了由常规半导体存储器装置在快闪存储器1的一个块中更新或增加页。
将会认识到,部分或所有这些附图是用于说明的示意表示,并且不一定描绘所示元件的实际的相对尺寸或位置。
本发明的最佳执行模式
下文参考这些附图描述了本发明的最佳实施例。
图1是框图,表示了根据本发明的这个实施例的半导体存储器装置10。半导体存储器装置10通过外部总线7与主机H连接。这里,例如,主机H是信息处理设备(例如,个人计算机)或移动设备(例如,PDA和便携式电话)。可以在外部或内部为主机H提供半导体存储器装置10。
快闪存储器1较佳地是NAND类型的EEPROM(电可擦除可编程ROM)。图2是示意图,表现了快闪存储器1中的单元阵列的结构的轮廓。该单元阵列许多的块B0、B1、B2......的一个群集例如,每个块包括32页。例如,头块B0包括32页P0-P31。其他的块B1、B2......相似。在快闪存储器1中,只能在逐块的基础上全体擦除数据项。每页包括(512+16)列×8个存储单元的二维排列。这里,这8个存储单元用该NAND类型的形式来加以连接,组成一列。另外,这些存储单元的512个列组成数据区DA,这些存储单元的剩余的16个列组成冗余区RA。在快闪存储器1中,逐页地执行数据写入和读取。这里,数据区DA和冗余区RA被独立加以存取。例如,一个存储单元存储一个比特的数据。然后,这些存储单元的一个列存储8个比特=1个字节。在该NAND类型的EEPROM中,这些存储单元的一个列中所存储的数据项每次作为一个字来加以发送或接收。如从以上所描述的结构中所计算的,该单元阵列的数据区DA具有每一页512个字节的存储容量,或每一块有512个字节×32=16千字节。冗余区RA存储该冗余区所属的页的数据区DA中所存储的数据项的各种属性。例如,该冗余区包括与该冗余区所属的页相对应的逻辑地址、示出该页是否空白的标记、示出是否启用或禁止使用被写在该页上的数据项(换言之,允许或禁止由该主机进行存取)的标记,以及/或者这些数据项的差错检测码(例如,CRC)。
当一个块尺寸或更大尺寸的数据流被存入快闪存储器1时,这些数据流从该空白块的顶页开始顺次被分成各页,并被写入这各个页的数据区DA。特别是,每个块中的逻辑页顺序可能按循环方式从该块中的物理页顺序平移形成,如下所述:在图2中,例如,头块B0的顶页(第一页)P0、第二页P1......第30页P29、第31页P30和最后一页(第32页)P31分别存储数据项D2、D3......D31、D0和D1。这里,表现头块B0的各页的参考符号P旁边的数值指出这各个页的物理页号。另外,表现页P0-P31中所存储的数据项的参考符号D旁边的数值指出这各个页的逻辑页号。然后,头块B0的页P0-P31的每个逻辑页号从该物理页号平移常数“2”而形成。
这些逻辑页顺序与这些物理页顺序之间的循环偏离通常在各个块之中有所变化。块的这种循环偏离被称作“该块的页偏移量”。块的页偏移量等同于该块的顶页的逻辑页号。在快闪存储器1中,这些页偏移量由这各个块的页偏移量存储区中所包括和所存储的0与31之间的整数来表示。这里,该页偏移量存储区是(例如)每个块的第一页的冗余区RA。在图2中,头块B0的页偏移量“2”被存储在顶页P0的冗余区RA中。此外,该页偏移量可能被存储在除该顶页以外的各页之一的冗余区RA中。在那种情况下,所存储的数据项可能是该页的逻辑页号,而不是该页偏移量本身。半导体存储器装置10可以从该页的逻辑页号与物理页号之间的偏离中来计算该页偏移量。
主机接口3(见图1)在外部总线7与内部总线8之间转运数据,并且在半导体存储器装置10中的各个功能装置与主机H之间实现数据交换。当从主机H接收关于快闪存储器1的数据读出命令时,主机接口3为该读出命令解码,并且将规定读取目标页的该逻辑地址发送到地址转换装置4。主机接口3进一步通过外部总线7将将要被读取的数据对象(由存储器控制器6从快闪存储器1传送到页缓冲器2)发送到主机H。当从主机H接收关于快闪存储器1的数据写命令时,主机接口3为该写命令解码,并且将规定该写目标页的该逻辑地址发送到地址转换装置4。主机接口3进一步通过内部总线8将将要被写入的数据对象(从主机H那里被接收)传送到页缓冲器2。
页缓冲器2较佳地是SRAM,并且暂时存储在主机接口3与存储器控制器6之间被交换的数据项。例如,页缓冲器2的存储容量是512个字节,并且实质上等同于快闪存储器1中的一页(的数据区DA)的存储容量。
地址转换部件4从主机接口3接收该逻辑地址。在该逻辑地址中,例如,高位各比特表示快闪存储器1中的一个块的逻辑地址(逻辑块地址),低位各比特表示该块中的一页的逻辑页号。地址转换装置4首先将该逻辑地址输入分成该逻辑块地址和该逻辑页号。地址转换部件4接下来对地址转换表格存储部件5进行存取。地址转换表格存储部件5较佳地是RAM,并且存储逻辑/物理地址转换表格L。地址转换部件4根据该逻辑/物理地址转换表格L,将该逻辑块地址转换成该对应的块的物理地址。该物理地址和该逻辑页号这一对数据被发送到存储器控制器6。这里,逻辑/物理地址转换表格L使被分配给快闪存储器1中的每个启用的块的逻辑块地址与该块的物理地址相对应的表。例如,地址转换装置4在半导体存储器装置10启动时扫描快闪存储器1的各块的顶页的冗余区RA,从而列出快闪存储器1中被启用的各个块的逻辑块地址。这样,在地址转换表格存储装置5中创建并存储逻辑/物理地址转换表格L。
例如,除了逻辑/物理地址转换表格L以外,地址转换表格存储装置5还为快闪存储器1的每个块存储标记F,以示出是否会是空白块。地址转换装置4根据该块的冗余区RA中所存储的数据检验快闪存储器1中的每个块以找出空白块,并且确定以上所描述的标记F。地址转换装置4进一步将标记F存入地址转换表格存储装置5。
存储器控制器6根据该物理地址和该逻辑页号这一对数据(从地址转换装置4那里被接收),来识别快闪存储器1中的一页。存储器控制器6为所识别的这页执行数据读取/写入。例如,在从主机H接收读出命令时,存储器控制器6首先从地址转换部件4接收从该读出命令的目的地址被加以转换的物理地址,并且识别与快闪存储器1中的该物理地址相对应的块。存储器控制器6接下来从该块的顶页的冗余区读取该块的页偏移量。存储器控制器6根据从地址转换装置4那里接收的页偏移量和逻辑页号,来识别对应于该逻辑页号的物理页号。存储器控制器6从快闪存储器1读取具有该物理页号的页上所存储的数据项,并且将该数据项传送到页缓冲器2。
在从主机H接收写命令时,存储器控制器6将数据写入快闪存储器1,即,在快闪存储器1的一个块中更新或增加页,如下所述:图3-5展示了由存储器控制器6写入数据的一种方法。图3表现了从页缓冲器2到快闪存储器1的传送过程,存储器控制器6为从主机H被传送到页缓冲器2的、将要被写入的数据对象DN8-DN12(参考符号DN旁边的数值表示逻辑页号)执行该传送过程。这里,让“8”成为该写命令的目的地址所指出的写目标页的逻辑页号。另外,假设:数据对象DN8-DN12的总数量实质上等同于快闪存储器1的五页的存储容量。图4和图5分别表现了从源块B0到目的块Bn的数据传送过程的前半部分和后半部分,存储器控制器6在图3中所示的数据传送过程之后执行该数据传送过程。
存储器控制器6首先从地址转换部件4接收物理地址。然后,存储器控制器6将对应于该物理地址的块识别为快闪存储器1中的源块。例如,在图3-5中,头块(第一个块)B0被识别为该源块。存储器控制器6接下来从源块B0的顶页(第一页)P0的冗余区RA读取源块B0的页偏移量“2”。数据项D0、D1......和D31(参考符号D旁边的数值表现存储这些数据项的各页的逻辑页号)被存储在源块B0的数据区DA中。如图3所示,在源块B0中,页P0-P3 1的逻辑页号(参考符号P旁边的数值表现这些物理页号)采用循环方式从这些物理页号平移页偏移量“2”。这里,页P0、P1......和P31可以包括处于被擦除状态的页(或空白页)。
存储器控制器6进一步从地址转换部件4接收该写目标页的逻辑页号“8”,并且确定逻辑页号“8”与源块B0的页偏移量“2”之间的差:“8-2=6”。这里,该差的范围一般是从-31-31,包括-31和31。当该差不是负数时,存储器控制器6将该差识别为该写目标页的物理页号。当以上所描述的差是负数时,存储器控制器6将每一块的总页号(=32)加入该差,并且将该总和数识别为该写目标页的物理页号。这样,该写目标页的物理页号被确定为0与31之间或与其相等的整数。在图3-5中,源块B0的第七页P6被识别为该写目标页。
存储器控制器6对地址转换表格存储装置5进行存取,并且,根据被存储在那里的标记F,将快闪存储器1中的空白块之一选作目的块。例如,在图3-5中,将第(n+1)个块Bn(n≥1)选作该目的块。目的块Bn中的32页Q0、Q1......和Q31中的任何页(参考符号Q旁边的数值表现物理页号)都是空白的。
主机接口3接收从主机H被发送的、将要被写入的数据对象DN8-DN12,并且逐页地将这些数据对象写入页缓冲器2。存储器控制器6将数据对象ND8-DN12逐页地从页缓冲器2传送到目的块Bn(见图3中所示的箭头)。数据对象DN8-DN12从目的块Bn的顶页Q0开始顺次被逐页地写入。由此,数据对象DN8-DN12被存储在目的块Bn的顶页Q0至第五页Q4的数据区DA中(见图3)。存储器控制器6进一步将该写目标页的逻辑页号“8”确定为目的块Bn的页偏移量,并且将该页偏移量写入目的块Bn的顶页Q0的冗余区RA。
每当将数据对象DN8-DN12从页缓冲器2传送到目的块Bn时,存储器控制器6计算该传送次数。主机H使用预定命令来通知半导体存储器装置10:将要被写入的数据对象的发送结束。存储器控制器6通过主机接口3来检测该命令。在检测该命令时,存储器控制器6根据以上所描述的传送次数来确定数据对象DN8-DN12的存储区Q0-Q4的页数为“5”。然后,存储器控制器6进一步开始从源块B0到目的块Bn的数据传送。这里,主机H可以为半导体存储器装置10提供存储数据对象DN8-DN12所要求的页数“5”的预先通知。在那种情况下,当以上所描述的传送次数达到所通知的页数“5”时,存储器控制器6开始从源块B0到目的块Bn的数据传送。
在从源块B0到目的块Bn的数据传送(以下被称作“块传送”)开始之前,页缓冲器2得到释放。存储器控制器6使用页缓冲器2来执行该块传送,如下所述(见图4和图5):首先,从源块B0的写目标页(第七页)P6计数的第五页(第12页)P11被识别为该块传送的起始页(以下被称作“传送起始页”)(见图4)。接下来,传送起始页P11至最后一页(第32页)P31上的数据项D13......D31、D0和D1被传送到目的块Bn,如下所述(见图4):首先,传送起始页P11上的数据项D13被读入页缓冲器2(见图4中所示的箭头R1)。另外,页缓冲器2中的数据项D13被写到目的块Bn的第六页Q5上(见图4中所示的箭头W1)。接下来,源块B0的第13页P12上的数据项D14被读入页缓冲器2(见图4中所示的箭头R2)。另外,页缓冲器2中的数据项D14被写到目的块Bn的第七页Q6上(见图4中所示的箭头W2)。经由页缓冲器2的以上所描述的数据传送被重复32-(6+5)=21次。结果,源块B0的第12页P11至最后一页P31上的数据项D13、D14......D31、D0和D1被传送到目的块Bn的第六页Q5至第26页Q25的数据区DA。
存储器控制器6接下来将顶页P0至就在源块B0的写目标页P6前面的页(第六页)P5的数据项D2、D3......和D7传送到目的块Bn,如下所述(见图5):首先,源块B0的顶页P0上的数据项D2被读入页缓冲器2(见图5中所示的箭头R26)。另外,数据项D2从页缓冲器2被写到目的块Bn的第27页Q26上。接下来,源块B0的第二页P1上的数据项D3同样经由页缓冲器2被传送到目的块Bn的第28页Q27。经由页缓冲器2的以上所描述的数据传送被重复六次。结果,顶页P0至就在源块B0的写目标页P6前面的页(第六页)P5上的数据项D2、D3......和D7被传送到目的块Bn的第27页Q26至最后一页Q31的数据区DA。
该传送起始页的物理页号等于该写目标页的物理页号和将要被写入的数据对象的存储区的页数的总和。这里,当该总和是每一块的总页号(=32)或更多时,该总和减去该总页号的值被识别为该传送起始页的物理页号。在那种情况下,存储器控制器6用类似于图5中所示的数据传送的方式来将该传送起始页至就在该写目标页前面的页上的数据项传送到目的块Bn。
作为由存储器控制器6执行的以上所描述的数据传送的结果,与源块B0对比,用目的块Bn中的新的数据项DN8-DN12来取代具有逻辑页号“8”~“12”的各页上的数据项D8-D12(见图5)。另外,该逻辑页顺序按循环方式改变,并且,该页偏移量从“2”变成“8”。
在该块传送完成时,存储器控制器6禁止使用或全体擦除源块B0中的数据项。那时,地址转换装置4更新逻辑/物理地址转换表格L,并且使与源块B0的物理地址相对应的逻辑地址跟目的块Bn的物理地址相对应。地址转换装置4进一步重置被存储在地址转换表格存储装置5中的标记F,以示出:源块B0是空白块。这样,在快闪存储器1的一个块中实现了页的更新和增加。
如上所述,从目的块Bn的顶页Q0开始并在最后一页Q31处结束,存储器控制器6将该数据从页缓冲器2写入目的块Bn。这个写入顺序等同于常规装置的写入顺序。相应地,与这些常规装置的配置相同的配置可以被用于将该数据从该页缓冲器写入该目的块。
由根据这个实施例的半导体存储器装置10来写入数据的方法如以下流程所示的那样来加以执行:图6是由半导体存储器装置10来写入数据的方法的流程图。
<步骤S1>
从主机H发出数据写命令。主机接口3接收该数据写命令,并将其解码成写目标页的逻辑地址。主机接口3进一步将该逻辑地址发送到地址转换装置4。
<步骤S2>
地址转换装置4从主机接口3接收该逻辑地址。然后,地址转换装置4参考逻辑/物理地址转换表格L,并将该逻辑地址转换成源块B0的物理地址和该写目标页的逻辑页号q(0≤q≤31)这一对数据。地址转换装置4进一步将这一对数据发送到存储器控制器6。
<步骤S3>
根据标记F,存储器控制器6对地址转换表格存储装置5进行存取,并将快闪存储器1中的空白块之一Bn选作目的块。这里,当源块B0是空白块时,源块B0本身可以被选作目的块Bn。在那种情况下,跳过以下的步骤S8和S9。
<步骤S4>
存储器控制器6将从地址转换装置4那里所接收的逻辑页号q写入目的块Bn的顶页Q0的冗余区RA(见图3)。
<步骤S5>
存储器控制器6从源块B0的顶页P0的冗余区RA读取源块B0的页偏移量p(0≤p≤31)。
<步骤S6>
存储器控制器6确定该写目标页的逻辑页号q与源块B0的页偏移量p之间的差。当该差q-p是负数(q-p<0)时,该控制器将每一块的总页号(=32)加入该差q-p。0与31之间的或与其相等的如此获得的整数q-p或32+q-p被识别为该写目标页的物理页号r:r=q-p或r=32+q-p。
<步骤S7>
主机接口3从主机H接收将要被写入的数据对象DN(q)、DN(q+1)......(参考符号DN旁边的、括弧中的参考符号表现逻辑页号)。主机接口3将数据对象DN(q)、DN(q+1)......逐页地传送到页缓冲器2。主机接口3进一步向存储器控制器6通知该传送。关于来自主机接口3的每个通知,存储器控制器6从目的块Bn的顶页Q0开始顺次传送页缓冲器2中的数据对象DN(q)、DN(q+1)......图7是这些传送的流程图。
子步骤SS71:当从主机接口3接收以上所描述的传送的第一个通知时,存储器控制器6初初化第一个整数变量k为0。
子步骤SS72:存储器控制器6将页缓冲器2中的数据项传送到目的块Bn的第(k+1)页Q(k)的数据区DA(参考符号Q旁边的、括弧中的参考符号表示该物理页号) (见图3)。
子步骤SS73:存储器控制器6将第一个整数变量k递增1。这样,第一个整数变量k指出从页缓冲器2到目的块Bn的数据对象DN(q)、DN(q+1)......的传送次数。
子步骤SS74:当结束发送数据对象DN(q)-DN(q+m-1)时,主机H发出表示该发送结束的预定命令。主机接口3检测该命令。存储器控制器6访问该主机接口3,并检验是否检测到该命令。当还没有检测到该命令时,从子步骤SS72开始重复该过程。当检测到该命令时,该过程进行到子步骤SS75。
子步骤SS75:当检测该命令时,存储器控制器6将第一个整数变量k识别为数据对象DN(q)-DN(q+m-1)的存储区Q0-Q(m-1)的页数m(1≤m≤32-q) 。
<步骤S8>
存储器控制器6开始从源块B0到目的块Bn的数据传送(块传送)。图8是该块传送的流程图。
子步骤SS81:存储器控制器6初始化第二个整数变量i为0。
子步骤SS82:存储器控制器6总计该写目标页的物理页号r(见步骤S6)、数据对象DN(q)-DN(q+m-1)的存储区Q0-Q(m-1)的页数m,以及第二个整数变量i。当总和r+m+i小于32(r+m+i<32)时,该过程进行到子步骤SS83。当该总和r+m+i是32或更大(r+m+i≥32)时,该过程跳转到子步骤SS85。
子步骤SS83:存储器控制器6经由页缓冲器2将被存储在源块B0的第(r+m+i+1)页P(r+m+i)上的数据项D(q+m+i)传送到目的块Bn的第(m+i+1)页Q(m+i)(见图4)。这里,参考符号P和D旁边的、括弧中的参考符号分别表现该物理页号和逻辑页号。
子步骤SS84:存储器控制器6将第二个整数变量i递增1。然后,从子步骤SS82开始重复该过程。
由于子步骤SS82-SS84的循环,为第二个整数变量i=0、1、2......和31-(r+m)的每个值重复子步骤SS83。结果,源块B0的第(r+m+1)页P(r+m)至第32页(最后一页)P31的数据项D(q+m)、D(q+m+1)......和D(p-1)被传送到目的块Bn的第(m+1)页Qm至第(32-r)页Q(3 1-r)的数据区DA(见图4)。
子步骤SS85:存储器控制器6将第三个整数变量j的初始值设置成等于值r+m+i减去32:j=r+m+i-32。这里,当r+m<32时,第三个整数变量j的初始值等于0。当r+m≥32时,第三个整数变量j的初始值是r+m-32=q+m-p,它等于或大于0。
子步骤SS86:存储器控制器6将第三个整数变量j与该写目标页的物理页号r进行比较。当第三个整数变量j小于该写目标页的物理页号r(j<r)时,该过程进行到子步骤SS87。当第三个整数变量j等于该目标页的物理页号r(j=r)时,该过程跳转到步骤S9。
子步骤SS87:存储器控制器6经由页缓冲器2将源块B0的第(j+1)页P(j)上的数据项D(p+j)传送到目的块Bn的第(33-r+j)页Q(32-r+j)(见图5)。
子步骤SS88:存储器控制器6将第三个整数变量j递增1。然后,从子步骤SS86开始重复该过程。
由于子步骤SS86-SS88的循环,为整数变量j=0、1、2......r-1或j=q+m-p......p-1的每个值重复子步骤SS87。结果,源块B0的第一页P0至第r页P(r-1)的数据项D(p)......和D(q-1)被传送到目的块Bn的第(33-r)页Q(32-r)至第32页(最后一页)Q31的数据区DA(见图5)。作为选择,源块B0的第(q+m-p+1)页P(q+m-p)至第r页P(r-1)的数据项D(q+m)、......D31、D0......和D(q-1)还可被传送到目的块Bn的第(m+1)页Qm至第32页(最后一页)Q31的数据区DA。
<步骤S9>
存储器控制器6全体擦除或禁止使用源块B0中的数据项。然后,地址转换部件4更新逻辑/物理地址转换表格L,并且使与源块B0的物理地址相对应的逻辑地址跟目的块Bn的物理地址相对应。地址转换部件4进一步重置被存储在地址转换表格存储装置5中的标记F,以示出:源块B0是空白块。
如上所述,在更新和增加快闪存储器1的一个块中的页时,根据这个实施例的半导体存储器装置10将页缓冲器2用作该原始块的数据项的保存空间,从而与常规装置对比,除页缓冲器2以外不用包括保存缓冲器。结果,该半导体存储器装置所拥有的RAM的尺寸小于这些常规装置的RAM的尺寸。所以,可以维持这整个装置的小尺寸。
本发明在目前的较佳实施例方面的以上所描述的揭示不会被解释为意在起限制作用。毫无疑问,在阅读该揭示之后,精通本发明所属的技术领域的人将会明白各种变更和修改。就此推论,这类变更和修改显然处于本发明的真实的精神和范围以内。另外,将会理解,所附权利要求书意在包括这些变更和修改。
工业适用性
根据本发明的半导体存储器装置通过页缓冲器和保存缓冲器的集成来实现小型化。所以,本发明具有非常高的工业适用性。
Claims (9)
1.一种半导体存储器装置,其特征在于,包括:
快闪存储设备,它包括多个块,其中每个块包括不止一页,从顶页开始依次将数据写入块中;
页缓冲器,用于存储从主机接收到的数据以及将要写入快闪存储设备的数据;
地址转换装置,用于从主机接收规定写目标页的逻辑地址,并将该逻辑地址转换成所述写目标页所属的源块的物理地址和所述写目标页的逻辑页号,其中所述源块是所述多个块之一;以及,
存储器控制装置,用于:
读取所述源块的物理地址和所述写目标页的逻辑页号;
从所述多个块中选择目的块;
从顶页开始依次将存储在页缓冲器中的数据写入目标块;
将存储在源块中的数据写至目标块的页区域的下一页或之后的页。
2.如权利要求1所述的半导体存储器装置,其特征在于,存储器控制装置依次且循环地将存储在源块中写目标页的逻辑页的下一页或之后的页的数据写入到写目标页中被写入的目标块的页区域的下一页或之后的页。
3.如权利要求1所述的半导体存储器装置,其特征在于,存储器控制装置在目标块的顶页中写入页偏移量,该页偏移量是从写目标页的逻辑页号和物理页号计算得到的。
4.一种信息***,其特征在于,包括:
用于发送信息的主机;
用于接收和存储所述主机发送的信息的半导体存储器装置;
所述半导体存储器装置包括:
快闪存储设备,它包括多个块,其中每个块包括不止一页,从顶页开始依次将数据写入块中;
页缓冲器,用于存储从主机接收到的数据以及将要写入快闪存储设备的数据;
地址转换装置,用于从主机接收规定写目标页的逻辑地址,并将该逻辑地址转换成所述写目标页所属的源块的物理地址和所述写目标页的逻辑页号,其中所述源块是所述多个块之一;以及,
存储器控制装置,用于:
读取所述源块的物理地址和所述写目标页的逻辑页号;
从所述多个块中选择目的块;
从顶页开始依次将存储在页缓冲器中的数据写入目标块;
将存储在源块中的数据写至目标块的页区域的下一页或之后的页。
5.如权利要求4所述的信息***,其特征在于,存储器控制装置依次且循环地将存储在源块中写目标页的逻辑页的下一页或之后的页的数据写入到写目标页中被写入的目标块的页区域的下一页或之后的页。
6.如权利要求4所述的信息***,其特征在于,存储器控制装置在目标块的顶页中写入页偏移量,该页偏移量是从写目标页的逻辑页号和物理页号计算得到的。
7.一种控制器,用于将页缓冲器中存储的数据写入快闪存储设备中,所述快闪存储设备包括多个块,其中每个块包括不止一页,从顶页开始依次将数据写入块中,其特征在于,所述控制器包括:
存储器控制装置,用于:
读取所述源块的物理地址和所述写目标页的逻辑页号;
从所述多个块中选择目的块;
从顶页开始依次将存储在页缓冲器中的数据写入目标块;
将存储在源块中的数据写至目标块的页区域的下一页或之后的页。
8.如权利要求7所述的控制器,其特征在于,存储器控制装置依次且循环地将存储在源块中写目标页的逻辑页的下一页或之后的页的数据写入到写目标页中被写入的目标块的页区域的下一页或之后的页。
9.如权利要求7所述的控制器,其特征在于,存储器控制装置在目标块的顶页中写入页偏移量,该页偏移量是从写目标页的逻辑页号和物理页号计算得到的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002251194 | 2002-08-29 | ||
JP2002251194 | 2002-08-29 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038014769A Division CN100347685C (zh) | 2002-08-29 | 2003-08-25 | 用于将数据写入快闪存储设备的半导体存储器的装置和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101114255A true CN101114255A (zh) | 2008-01-30 |
Family
ID=31972668
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038014769A Expired - Fee Related CN100347685C (zh) | 2002-08-29 | 2003-08-25 | 用于将数据写入快闪存储设备的半导体存储器的装置和方法 |
CNA2007101472279A Pending CN101114255A (zh) | 2002-08-29 | 2003-08-25 | 用于将数据写入快闪存储设备的半导体存储器的装置和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038014769A Expired - Fee Related CN100347685C (zh) | 2002-08-29 | 2003-08-25 | 用于将数据写入快闪存储设备的半导体存储器的装置和方法 |
Country Status (8)
Country | Link |
---|---|
US (2) | USRE42648E1 (zh) |
EP (1) | EP1533702A4 (zh) |
JP (1) | JP4358111B2 (zh) |
KR (1) | KR100944054B1 (zh) |
CN (2) | CN100347685C (zh) |
CA (1) | CA2461446A1 (zh) |
TW (1) | TWI260535B (zh) |
WO (1) | WO2004021191A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673243B (zh) * | 2009-09-29 | 2011-09-07 | 威盛电子股份有限公司 | 数据储存装置与方法 |
Families Citing this family (282)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231618B (zh) * | 2002-10-02 | 2012-06-13 | 松下电器产业株式会社 | 非易失性存储器装置的控制方法 |
JP4253272B2 (ja) | 2004-05-27 | 2009-04-08 | 株式会社東芝 | メモリカード、半導体装置、及び半導体メモリの制御方法 |
US7383414B2 (en) * | 2004-05-28 | 2008-06-03 | Oracle International Corporation | Method and apparatus for memory-mapped input/output |
JP3969494B2 (ja) * | 2004-08-31 | 2007-09-05 | 三菱電機株式会社 | 車載電子制御装置 |
JP2006085380A (ja) * | 2004-09-15 | 2006-03-30 | Toshiba Corp | ファイルストレージデバイス、プログラム、及び不揮発性半導体メモリの書込方法 |
US7409623B2 (en) * | 2004-11-04 | 2008-08-05 | Sigmatel, Inc. | System and method of reading non-volatile computer memory |
KR100706242B1 (ko) * | 2005-02-07 | 2007-04-11 | 삼성전자주식회사 | 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법 |
JP5130646B2 (ja) * | 2005-06-06 | 2013-01-30 | ソニー株式会社 | 記憶装置 |
JP4688584B2 (ja) * | 2005-06-21 | 2011-05-25 | 株式会社日立製作所 | ストレージ装置 |
KR101197556B1 (ko) * | 2006-01-09 | 2012-11-09 | 삼성전자주식회사 | 불 휘발성 메모리의 프로그램 동작을 검증하는 장치 및방법, 그리고 그 장치를 포함한 메모리 카드 |
JP2007199905A (ja) * | 2006-01-25 | 2007-08-09 | Toshiba Corp | 半導体記憶装置の制御方法 |
DE602006014734D1 (de) | 2006-03-13 | 2010-07-15 | Panasonic Corp | Flashspeichersteuerung |
US7996598B2 (en) * | 2006-03-14 | 2011-08-09 | Stmicroelectronics Pvt. Ltd. | Memory management module |
JP2008009527A (ja) * | 2006-06-27 | 2008-01-17 | Toshiba Corp | メモリシステム |
KR100816148B1 (ko) * | 2006-09-29 | 2008-03-21 | 주식회사 하이닉스반도체 | 플래시 메모리 소자 및 이의 독출 방법 |
CN101105774B (zh) * | 2006-10-26 | 2010-08-11 | 福昭科技(深圳)有限公司 | 闪存记忆体在进行数据存取时的逻辑与物理地址转换方法 |
TWI326028B (en) | 2006-11-20 | 2010-06-11 | Silicon Motion Inc | Method for flash memory data management |
CN101196851B (zh) * | 2006-12-05 | 2011-09-07 | 慧荣科技股份有限公司 | 闪存的数据管理方法 |
EP1988548B1 (fr) * | 2007-05-02 | 2010-08-25 | Stmicroelectronics Sa | Mémoire non volatile à écriture rapide |
US7962683B2 (en) * | 2007-08-15 | 2011-06-14 | Silicon Motion, Inc. | Flash memory, and method for operating a flash memory |
US20090144458A1 (en) * | 2007-12-03 | 2009-06-04 | Broadcom Corporation | Dongle device and host device with millimeter wave host inerface and method for use therewith |
CN101256564B (zh) * | 2007-12-25 | 2010-06-02 | 深圳市同洲电子股份有限公司 | 一种循环文件的操作方法 |
US8185778B2 (en) * | 2008-04-15 | 2012-05-22 | SMART Storage Systems, Inc. | Flash management using separate metadata storage |
US20090259806A1 (en) * | 2008-04-15 | 2009-10-15 | Adtron, Inc. | Flash management using bad page tracking and high defect flash memory |
US8028123B2 (en) * | 2008-04-15 | 2011-09-27 | SMART Modular Technologies (AZ) , Inc. | Circular wear leveling |
WO2009129339A2 (en) * | 2008-04-15 | 2009-10-22 | Adtron, Inc. | Circular wear leveling |
US8566505B2 (en) * | 2008-04-15 | 2013-10-22 | SMART Storage Systems, Inc. | Flash management using sequential techniques |
US8180954B2 (en) * | 2008-04-15 | 2012-05-15 | SMART Storage Systems, Inc. | Flash management using logical page size |
US8555086B2 (en) * | 2008-06-30 | 2013-10-08 | Intel Corporation | Encrypting data on a non-volatile memory |
CN101673245B (zh) * | 2008-09-09 | 2016-02-03 | 株式会社东芝 | 包括存储器管理装置的信息处理装置和存储器管理方法 |
CN101676885B (zh) * | 2008-09-17 | 2013-08-21 | 群联电子股份有限公司 | 数据管理方法及其存储装置与其控制器 |
US8566562B2 (en) * | 2008-10-03 | 2013-10-22 | Skymedi Corporation | Method for sequentially writing data with an offset to a non-volatile memory |
US8296503B2 (en) * | 2009-05-26 | 2012-10-23 | Mediatek Inc. | Data updating and recovering methods for a non-volatile memory array |
TWI426384B (zh) * | 2009-09-10 | 2014-02-11 | Robustflash Technologies Ltd | 資料寫入方法與系統 |
TWI437569B (zh) * | 2009-10-16 | 2014-05-11 | Silicon Motion Inc | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
TWI416525B (zh) * | 2009-12-15 | 2013-11-21 | Asolid Technology Co Ltd | 非揮發性記憶體裝置及其損耗平均方法 |
US8381018B2 (en) | 2010-05-21 | 2013-02-19 | Mediatek Inc. | Method for data recovery for flash devices |
US8909851B2 (en) | 2011-02-08 | 2014-12-09 | SMART Storage Systems, Inc. | Storage control system with change logging mechanism and method of operation thereof |
US8935466B2 (en) | 2011-03-28 | 2015-01-13 | SMART Storage Systems, Inc. | Data storage system with non-volatile memory and method of operation thereof |
US9098399B2 (en) | 2011-08-31 | 2015-08-04 | SMART Storage Systems, Inc. | Electronic system with storage management mechanism and method of operation thereof |
US9063844B2 (en) | 2011-09-02 | 2015-06-23 | SMART Storage Systems, Inc. | Non-volatile memory management system with time measure mechanism and method of operation thereof |
US9021231B2 (en) | 2011-09-02 | 2015-04-28 | SMART Storage Systems, Inc. | Storage control system with write amplification control mechanism and method of operation thereof |
US9021319B2 (en) | 2011-09-02 | 2015-04-28 | SMART Storage Systems, Inc. | Non-volatile memory management system with load leveling and method of operation thereof |
US8797799B2 (en) * | 2012-01-05 | 2014-08-05 | Conversant Intellectual Property Management Inc. | Device selection schemes in multi chip package NAND flash memory system |
US9239781B2 (en) | 2012-02-07 | 2016-01-19 | SMART Storage Systems, Inc. | Storage control system with erase block mechanism and method of operation thereof |
US9298252B2 (en) | 2012-04-17 | 2016-03-29 | SMART Storage Systems, Inc. | Storage control system with power down mechanism and method of operation thereof |
TWI486766B (zh) * | 2012-05-11 | 2015-06-01 | Phison Electronics Corp | 資料處理方法、記憶體控制器與記憶體儲存裝置 |
CN102722456B (zh) * | 2012-05-30 | 2015-02-04 | 深圳市江波龙电子有限公司 | 闪存存储设备的数据写入方法和闪存存储设备 |
US8949689B2 (en) | 2012-06-11 | 2015-02-03 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
CN103019616B (zh) | 2012-11-23 | 2015-11-25 | 记忆科技(深圳)有限公司 | 一种固态硬盘及闪存芯片的充放电控制方法 |
US9671962B2 (en) | 2012-11-30 | 2017-06-06 | Sandisk Technologies Llc | Storage control system with data management mechanism of parity and method of operation thereof |
US9123445B2 (en) | 2013-01-22 | 2015-09-01 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
US9183137B2 (en) | 2013-02-27 | 2015-11-10 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US9470720B2 (en) | 2013-03-08 | 2016-10-18 | Sandisk Technologies Llc | Test system with localized heating and method of manufacture thereof |
US9043780B2 (en) | 2013-03-27 | 2015-05-26 | SMART Storage Systems, Inc. | Electronic system with system modification control mechanism and method of operation thereof |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9543025B2 (en) | 2013-04-11 | 2017-01-10 | Sandisk Technologies Llc | Storage control system with power-off time estimation mechanism and method of operation thereof |
US10546648B2 (en) | 2013-04-12 | 2020-01-28 | Sandisk Technologies Llc | Storage control system with data management mechanism and method of operation thereof |
US9313874B2 (en) | 2013-06-19 | 2016-04-12 | SMART Storage Systems, Inc. | Electronic system with heat extraction and method of manufacture thereof |
US9898056B2 (en) | 2013-06-19 | 2018-02-20 | Sandisk Technologies Llc | Electronic assembly with thermal channel and method of manufacture thereof |
US9244519B1 (en) | 2013-06-25 | 2016-01-26 | Smart Storage Systems. Inc. | Storage system with data transfer rate adjustment for power throttling |
US9367353B1 (en) | 2013-06-25 | 2016-06-14 | Sandisk Technologies Inc. | Storage control system with power throttling mechanism and method of operation thereof |
US9146850B2 (en) | 2013-08-01 | 2015-09-29 | SMART Storage Systems, Inc. | Data storage system with dynamic read threshold mechanism and method of operation thereof |
US9448946B2 (en) | 2013-08-07 | 2016-09-20 | Sandisk Technologies Llc | Data storage system with stale data mechanism and method of operation thereof |
US9431113B2 (en) | 2013-08-07 | 2016-08-30 | Sandisk Technologies Llc | Data storage system with dynamic erase block grouping mechanism and method of operation thereof |
US9361222B2 (en) | 2013-08-07 | 2016-06-07 | SMART Storage Systems, Inc. | Electronic system with storage drive life estimation mechanism and method of operation thereof |
US11630585B1 (en) | 2016-08-25 | 2023-04-18 | Pure Storage, Inc. | Processing evacuation events in a storage array that includes a plurality of storage devices |
US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
CN103778964B (zh) * | 2013-12-30 | 2016-08-17 | 上海晨思电子科技有限公司 | 一种NAND Flash烧写数据的处理、使用方法及装置、*** |
JP2015138272A (ja) * | 2014-01-20 | 2015-07-30 | ソニー株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
US9613715B2 (en) | 2014-06-16 | 2017-04-04 | Sandisk Technologies Llc | Low-test memory stack for non-volatile storage |
US9653184B2 (en) | 2014-06-16 | 2017-05-16 | Sandisk Technologies Llc | Non-volatile memory module with physical-to-physical address remapping |
US8976609B1 (en) | 2014-06-16 | 2015-03-10 | Sandisk Enterprise Ip Llc | Low-test memory stack for non-volatile storage |
CN104166627B (zh) * | 2014-09-02 | 2017-12-08 | 科大智能电气技术有限公司 | 一种基于单片机的nand‑flash写操作方法 |
US11102298B1 (en) | 2015-05-26 | 2021-08-24 | Pure Storage, Inc. | Locally providing cloud storage services for fleet management |
US9716755B2 (en) | 2015-05-26 | 2017-07-25 | Pure Storage, Inc. | Providing cloud storage array services by a local storage array in a data center |
US9594678B1 (en) | 2015-05-27 | 2017-03-14 | Pure Storage, Inc. | Preventing duplicate entries of identical data in a storage device |
US11503031B1 (en) | 2015-05-29 | 2022-11-15 | Pure Storage, Inc. | Storage array access control from cloud-based user authorization and authentication |
US9444822B1 (en) | 2015-05-29 | 2016-09-13 | Pure Storage, Inc. | Storage array access control from cloud-based user authorization and authentication |
US9300660B1 (en) | 2015-05-29 | 2016-03-29 | Pure Storage, Inc. | Providing authorization and authentication in a cloud for a user of a storage array |
US10021170B2 (en) | 2015-05-29 | 2018-07-10 | Pure Storage, Inc. | Managing a storage array using client-side services |
US9588691B2 (en) | 2015-06-10 | 2017-03-07 | Pure Storage, Inc. | Dynamically managing control information in a storage device |
US9594512B1 (en) | 2015-06-19 | 2017-03-14 | Pure Storage, Inc. | Attributing consumed storage capacity among entities storing data in a storage array |
US10310740B2 (en) * | 2015-06-23 | 2019-06-04 | Pure Storage, Inc. | Aligning memory access operations to a geometry of a storage device |
US9547441B1 (en) * | 2015-06-23 | 2017-01-17 | Pure Storage, Inc. | Exposing a geometry of a storage device |
US10296236B2 (en) | 2015-07-01 | 2019-05-21 | Pure Storage, Inc. | Offloading device management responsibilities from a storage device in an array of storage devices |
US9892071B2 (en) | 2015-08-03 | 2018-02-13 | Pure Storage, Inc. | Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array |
US9851762B1 (en) | 2015-08-06 | 2017-12-26 | Pure Storage, Inc. | Compliant printed circuit board (‘PCB’) within an enclosure |
US10198194B2 (en) | 2015-08-24 | 2019-02-05 | Pure Storage, Inc. | Placing data within a storage device of a flash array |
US11625181B1 (en) | 2015-08-24 | 2023-04-11 | Pure Storage, Inc. | Data tiering using snapshots |
US11294588B1 (en) | 2015-08-24 | 2022-04-05 | Pure Storage, Inc. | Placing data within a storage device |
US10514978B1 (en) | 2015-10-23 | 2019-12-24 | Pure Storage, Inc. | Automatic deployment of corrective measures for storage arrays |
US9384082B1 (en) | 2015-10-23 | 2016-07-05 | Pure Storage, Inc. | Proactively providing corrective measures for storage arrays |
US11360844B1 (en) | 2015-10-23 | 2022-06-14 | Pure Storage, Inc. | Recovery of a container storage provider |
US10284232B2 (en) | 2015-10-28 | 2019-05-07 | Pure Storage, Inc. | Dynamic error processing in a storage device |
US9740414B2 (en) | 2015-10-29 | 2017-08-22 | Pure Storage, Inc. | Optimizing copy operations |
US10374868B2 (en) | 2015-10-29 | 2019-08-06 | Pure Storage, Inc. | Distributed command processing in a flash storage system |
US10353777B2 (en) | 2015-10-30 | 2019-07-16 | Pure Storage, Inc. | Ensuring crash-safe forward progress of a system configuration update |
US9760479B2 (en) | 2015-12-02 | 2017-09-12 | Pure Storage, Inc. | Writing data in a storage system that includes a first type of storage device and a second type of storage device |
US11762764B1 (en) | 2015-12-02 | 2023-09-19 | Pure Storage, Inc. | Writing data in a storage system that includes a first type of storage device and a second type of storage device |
US11616834B2 (en) | 2015-12-08 | 2023-03-28 | Pure Storage, Inc. | Efficient replication of a dataset to the cloud |
US10326836B2 (en) | 2015-12-08 | 2019-06-18 | Pure Storage, Inc. | Partially replicating a snapshot between storage systems |
US11347697B1 (en) | 2015-12-15 | 2022-05-31 | Pure Storage, Inc. | Proactively optimizing a storage system |
US10162835B2 (en) | 2015-12-15 | 2018-12-25 | Pure Storage, Inc. | Proactive management of a plurality of storage arrays in a multi-array system |
US10346043B2 (en) | 2015-12-28 | 2019-07-09 | Pure Storage, Inc. | Adaptive computing for data compression |
US9886314B2 (en) | 2016-01-28 | 2018-02-06 | Pure Storage, Inc. | Placing workloads in a multi-array system |
US10572460B2 (en) | 2016-02-11 | 2020-02-25 | Pure Storage, Inc. | Compressing data in dependence upon characteristics of a storage system |
US9760297B2 (en) | 2016-02-12 | 2017-09-12 | Pure Storage, Inc. | Managing input/output (‘I/O’) queues in a data storage system |
US9959043B2 (en) | 2016-03-16 | 2018-05-01 | Pure Storage, Inc. | Performing a non-disruptive upgrade of data in a storage system |
US11995315B2 (en) | 2016-03-16 | 2024-05-28 | Pure Storage, Inc. | Converting data formats in a storage system |
US11112990B1 (en) | 2016-04-27 | 2021-09-07 | Pure Storage, Inc. | Managing storage device evacuation |
US11809727B1 (en) | 2016-04-27 | 2023-11-07 | Pure Storage, Inc. | Predicting failures in a storage system that includes a plurality of storage devices |
US9841921B2 (en) | 2016-04-27 | 2017-12-12 | Pure Storage, Inc. | Migrating data in a storage array that includes a plurality of storage devices |
US9811264B1 (en) | 2016-04-28 | 2017-11-07 | Pure Storage, Inc. | Deploying client-specific applications in a storage system utilizing redundant system resources |
US10303390B1 (en) | 2016-05-02 | 2019-05-28 | Pure Storage, Inc. | Resolving fingerprint collisions in flash storage system |
US11231858B2 (en) | 2016-05-19 | 2022-01-25 | Pure Storage, Inc. | Dynamically configuring a storage system to facilitate independent scaling of resources |
US9507532B1 (en) | 2016-05-20 | 2016-11-29 | Pure Storage, Inc. | Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices |
US10691567B2 (en) | 2016-06-03 | 2020-06-23 | Pure Storage, Inc. | Dynamically forming a failure domain in a storage system that includes a plurality of blades |
US10452310B1 (en) | 2016-07-13 | 2019-10-22 | Pure Storage, Inc. | Validating cabling for storage component admission to a storage array |
US11706895B2 (en) | 2016-07-19 | 2023-07-18 | Pure Storage, Inc. | Independent scaling of compute resources and storage resources in a storage system |
US10459652B2 (en) | 2016-07-27 | 2019-10-29 | Pure Storage, Inc. | Evacuating blades in a storage array that includes a plurality of blades |
US10474363B1 (en) | 2016-07-29 | 2019-11-12 | Pure Storage, Inc. | Space reporting in a storage system |
US10235229B1 (en) | 2016-09-07 | 2019-03-19 | Pure Storage, Inc. | Rehabilitating storage devices in a storage array that includes a plurality of storage devices |
US11481261B1 (en) | 2016-09-07 | 2022-10-25 | Pure Storage, Inc. | Preventing extended latency in a storage system |
US11960348B2 (en) | 2016-09-07 | 2024-04-16 | Pure Storage, Inc. | Cloud-based monitoring of hardware components in a fleet of storage systems |
US10908966B1 (en) | 2016-09-07 | 2021-02-02 | Pure Storage, Inc. | Adapting target service times in a storage system |
US10146585B2 (en) | 2016-09-07 | 2018-12-04 | Pure Storage, Inc. | Ensuring the fair utilization of system resources using workload based, time-independent scheduling |
US10331588B2 (en) | 2016-09-07 | 2019-06-25 | Pure Storage, Inc. | Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling |
US11531577B1 (en) | 2016-09-07 | 2022-12-20 | Pure Storage, Inc. | Temporarily limiting access to a storage device |
US11886922B2 (en) | 2016-09-07 | 2024-01-30 | Pure Storage, Inc. | Scheduling input/output operations for a storage system |
US10671439B1 (en) | 2016-09-07 | 2020-06-02 | Pure Storage, Inc. | Workload planning with quality-of-service (‘QOS’) integration |
US11379132B1 (en) | 2016-10-20 | 2022-07-05 | Pure Storage, Inc. | Correlating medical sensor data |
US10007459B2 (en) | 2016-10-20 | 2018-06-26 | Pure Storage, Inc. | Performance tuning in a storage system that includes one or more storage devices |
US11620075B2 (en) | 2016-11-22 | 2023-04-04 | Pure Storage, Inc. | Providing application aware storage |
US10162566B2 (en) | 2016-11-22 | 2018-12-25 | Pure Storage, Inc. | Accumulating application-level statistics in a storage system |
US10198205B1 (en) | 2016-12-19 | 2019-02-05 | Pure Storage, Inc. | Dynamically adjusting a number of storage devices utilized to simultaneously service write operations |
US11461273B1 (en) | 2016-12-20 | 2022-10-04 | Pure Storage, Inc. | Modifying storage distribution in a storage system that includes one or more storage devices |
US10489307B2 (en) | 2017-01-05 | 2019-11-26 | Pure Storage, Inc. | Periodically re-encrypting user data stored on a storage device |
US11307998B2 (en) | 2017-01-09 | 2022-04-19 | Pure Storage, Inc. | Storage efficiency of encrypted host system data |
US11340800B1 (en) | 2017-01-19 | 2022-05-24 | Pure Storage, Inc. | Content masking in a storage system |
US10503700B1 (en) | 2017-01-19 | 2019-12-10 | Pure Storage, Inc. | On-demand content filtering of snapshots within a storage system |
US11163624B2 (en) | 2017-01-27 | 2021-11-02 | Pure Storage, Inc. | Dynamically adjusting an amount of log data generated for a storage system |
US11089105B1 (en) | 2017-12-14 | 2021-08-10 | Pure Storage, Inc. | Synchronously replicating datasets in cloud-based storage systems |
US11675520B2 (en) | 2017-03-10 | 2023-06-13 | Pure Storage, Inc. | Application replication among storage systems synchronously replicating a dataset |
US11169727B1 (en) | 2017-03-10 | 2021-11-09 | Pure Storage, Inc. | Synchronous replication between storage systems with virtualized storage |
US10503427B2 (en) | 2017-03-10 | 2019-12-10 | Pure Storage, Inc. | Synchronously replicating datasets and other managed objects to cloud-based storage systems |
US10454810B1 (en) | 2017-03-10 | 2019-10-22 | Pure Storage, Inc. | Managing host definitions across a plurality of storage systems |
US11941279B2 (en) | 2017-03-10 | 2024-03-26 | Pure Storage, Inc. | Data path virtualization |
US11803453B1 (en) | 2017-03-10 | 2023-10-31 | Pure Storage, Inc. | Using host connectivity states to avoid queuing I/O requests |
US11442825B2 (en) | 2017-03-10 | 2022-09-13 | Pure Storage, Inc. | Establishing a synchronous replication relationship between two or more storage systems |
US10521344B1 (en) | 2017-03-10 | 2019-12-31 | Pure Storage, Inc. | Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems |
US10459664B1 (en) | 2017-04-10 | 2019-10-29 | Pure Storage, Inc. | Virtualized copy-by-reference |
US9910618B1 (en) | 2017-04-10 | 2018-03-06 | Pure Storage, Inc. | Migrating applications executing on a storage system |
US11868629B1 (en) | 2017-05-05 | 2024-01-09 | Pure Storage, Inc. | Storage system sizing service |
US10552090B2 (en) | 2017-09-07 | 2020-02-04 | Pure Storage, Inc. | Solid state drives with multiple types of addressable memory |
US10976962B2 (en) | 2018-03-15 | 2021-04-13 | Pure Storage, Inc. | Servicing I/O operations in a cloud-based storage system |
US11989429B1 (en) | 2017-06-12 | 2024-05-21 | Pure Storage, Inc. | Recommending changes to a storage system |
US11422731B1 (en) | 2017-06-12 | 2022-08-23 | Pure Storage, Inc. | Metadata-based replication of a dataset |
US11592991B2 (en) | 2017-09-07 | 2023-02-28 | Pure Storage, Inc. | Converting raid data between persistent storage types |
US11016824B1 (en) | 2017-06-12 | 2021-05-25 | Pure Storage, Inc. | Event identification with out-of-order reporting in a cloud-based environment |
US10789020B2 (en) | 2017-06-12 | 2020-09-29 | Pure Storage, Inc. | Recovering data within a unified storage element |
US10613791B2 (en) | 2017-06-12 | 2020-04-07 | Pure Storage, Inc. | Portable snapshot replication between storage systems |
US11609718B1 (en) | 2017-06-12 | 2023-03-21 | Pure Storage, Inc. | Identifying valid data after a storage system recovery |
US10884636B1 (en) | 2017-06-12 | 2021-01-05 | Pure Storage, Inc. | Presenting workload performance in a storage system |
US11442669B1 (en) | 2018-03-15 | 2022-09-13 | Pure Storage, Inc. | Orchestrating a virtual storage system |
US11210133B1 (en) | 2017-06-12 | 2021-12-28 | Pure Storage, Inc. | Workload mobility between disparate execution environments |
US10417092B2 (en) | 2017-09-07 | 2019-09-17 | Pure Storage, Inc. | Incremental RAID stripe update parity calculation |
US10853148B1 (en) | 2017-06-12 | 2020-12-01 | Pure Storage, Inc. | Migrating workloads between a plurality of execution environments |
CN116431072A (zh) | 2017-06-12 | 2023-07-14 | 净睿存储股份有限公司 | 集成到大容量存储设备的可访问快速耐久存储 |
US11340939B1 (en) | 2017-06-12 | 2022-05-24 | Pure Storage, Inc. | Application-aware analytics for storage systems |
US11561714B1 (en) | 2017-07-05 | 2023-01-24 | Pure Storage, Inc. | Storage efficiency driven migration |
US11477280B1 (en) | 2017-07-26 | 2022-10-18 | Pure Storage, Inc. | Integrating cloud storage services |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US11455168B1 (en) | 2017-10-19 | 2022-09-27 | Pure Storage, Inc. | Batch building for deep learning training workloads |
US11494692B1 (en) | 2018-03-26 | 2022-11-08 | Pure Storage, Inc. | Hyperscale artificial intelligence and machine learning infrastructure |
US10671435B1 (en) | 2017-10-19 | 2020-06-02 | Pure Storage, Inc. | Data transformation caching in an artificial intelligence infrastructure |
US10360214B2 (en) | 2017-10-19 | 2019-07-23 | Pure Storage, Inc. | Ensuring reproducibility in an artificial intelligence infrastructure |
US10452444B1 (en) | 2017-10-19 | 2019-10-22 | Pure Storage, Inc. | Storage system with compute resources and shared storage resources |
US11861423B1 (en) | 2017-10-19 | 2024-01-02 | Pure Storage, Inc. | Accelerating artificial intelligence (‘AI’) workflows |
US10509581B1 (en) | 2017-11-01 | 2019-12-17 | Pure Storage, Inc. | Maintaining write consistency in a multi-threaded storage system |
US10817392B1 (en) | 2017-11-01 | 2020-10-27 | Pure Storage, Inc. | Ensuring resiliency to storage device failures in a storage system that includes a plurality of storage devices |
US10484174B1 (en) | 2017-11-01 | 2019-11-19 | Pure Storage, Inc. | Protecting an encryption key for data stored in a storage system that includes a plurality of storage devices |
US10671494B1 (en) | 2017-11-01 | 2020-06-02 | Pure Storage, Inc. | Consistent selection of replicated datasets during storage system recovery |
US10467107B1 (en) | 2017-11-01 | 2019-11-05 | Pure Storage, Inc. | Maintaining metadata resiliency among storage device failures |
US10929226B1 (en) | 2017-11-21 | 2021-02-23 | Pure Storage, Inc. | Providing for increased flexibility for large scale parity |
US10936238B2 (en) | 2017-11-28 | 2021-03-02 | Pure Storage, Inc. | Hybrid data tiering |
US10990282B1 (en) | 2017-11-28 | 2021-04-27 | Pure Storage, Inc. | Hybrid data tiering with cloud storage |
US10795598B1 (en) | 2017-12-07 | 2020-10-06 | Pure Storage, Inc. | Volume migration for storage systems synchronously replicating a dataset |
US11036677B1 (en) | 2017-12-14 | 2021-06-15 | Pure Storage, Inc. | Replicated data integrity |
US10929031B2 (en) | 2017-12-21 | 2021-02-23 | Pure Storage, Inc. | Maximizing data reduction in a partially encrypted volume |
US10992533B1 (en) | 2018-01-30 | 2021-04-27 | Pure Storage, Inc. | Policy based path management |
US10942650B1 (en) | 2018-03-05 | 2021-03-09 | Pure Storage, Inc. | Reporting capacity utilization in a storage system |
US11861170B2 (en) | 2018-03-05 | 2024-01-02 | Pure Storage, Inc. | Sizing resources for a replication target |
US11972134B2 (en) | 2018-03-05 | 2024-04-30 | Pure Storage, Inc. | Resource utilization using normalized input/output (‘I/O’) operations |
US11150834B1 (en) | 2018-03-05 | 2021-10-19 | Pure Storage, Inc. | Determining storage consumption in a storage system |
US10521151B1 (en) | 2018-03-05 | 2019-12-31 | Pure Storage, Inc. | Determining effective space utilization in a storage system |
US10296258B1 (en) | 2018-03-09 | 2019-05-21 | Pure Storage, Inc. | Offloading data storage to a decentralized storage network |
US11288138B1 (en) | 2018-03-15 | 2022-03-29 | Pure Storage, Inc. | Recovery from a system fault in a cloud-based storage system |
US10924548B1 (en) | 2018-03-15 | 2021-02-16 | Pure Storage, Inc. | Symmetric storage using a cloud-based storage system |
US11210009B1 (en) | 2018-03-15 | 2021-12-28 | Pure Storage, Inc. | Staging data in a cloud-based storage system |
US11048590B1 (en) | 2018-03-15 | 2021-06-29 | Pure Storage, Inc. | Data consistency during recovery in a cloud-based storage system |
US10917471B1 (en) | 2018-03-15 | 2021-02-09 | Pure Storage, Inc. | Active membership in a cloud-based storage system |
US11095706B1 (en) | 2018-03-21 | 2021-08-17 | Pure Storage, Inc. | Secure cloud-based storage system management |
US11171950B1 (en) | 2018-03-21 | 2021-11-09 | Pure Storage, Inc. | Secure cloud-based storage system management |
US10838833B1 (en) | 2018-03-26 | 2020-11-17 | Pure Storage, Inc. | Providing for high availability in a data analytics pipeline without replicas |
US11392553B1 (en) | 2018-04-24 | 2022-07-19 | Pure Storage, Inc. | Remote data management |
US11436344B1 (en) | 2018-04-24 | 2022-09-06 | Pure Storage, Inc. | Secure encryption in deduplication cluster |
US11455409B2 (en) | 2018-05-21 | 2022-09-27 | Pure Storage, Inc. | Storage layer data obfuscation |
US11954220B2 (en) | 2018-05-21 | 2024-04-09 | Pure Storage, Inc. | Data protection for container storage |
US10992598B2 (en) | 2018-05-21 | 2021-04-27 | Pure Storage, Inc. | Synchronously replicating when a mediation service becomes unavailable |
US11675503B1 (en) | 2018-05-21 | 2023-06-13 | Pure Storage, Inc. | Role-based data access |
US10871922B2 (en) | 2018-05-22 | 2020-12-22 | Pure Storage, Inc. | Integrated storage management between storage systems and container orchestrators |
US11403000B1 (en) | 2018-07-20 | 2022-08-02 | Pure Storage, Inc. | Resiliency in a cloud-based storage system |
US11416298B1 (en) | 2018-07-20 | 2022-08-16 | Pure Storage, Inc. | Providing application-specific storage by a storage system |
US11954238B1 (en) | 2018-07-24 | 2024-04-09 | Pure Storage, Inc. | Role-based access control for a storage system |
US11632360B1 (en) | 2018-07-24 | 2023-04-18 | Pure Storage, Inc. | Remote access to a storage device |
US11146564B1 (en) | 2018-07-24 | 2021-10-12 | Pure Storage, Inc. | Login authentication in a cloud storage platform |
CN112567327A (zh) * | 2018-08-21 | 2021-03-26 | 索尼公司 | 非易失性存储装置、主机装置和数据存储*** |
US11436151B2 (en) * | 2018-08-29 | 2022-09-06 | Seagate Technology Llc | Semi-sequential drive I/O performance |
US11860820B1 (en) | 2018-09-11 | 2024-01-02 | Pure Storage, Inc. | Processing data through a storage system in a data pipeline |
US12026381B2 (en) | 2018-10-26 | 2024-07-02 | Pure Storage, Inc. | Preserving identities and policies across replication |
US10671302B1 (en) | 2018-10-26 | 2020-06-02 | Pure Storage, Inc. | Applying a rate limit across a plurality of storage systems |
US12026061B1 (en) | 2018-11-18 | 2024-07-02 | Pure Storage, Inc. | Restoring a cloud-based storage system to a selected state |
US11526405B1 (en) | 2018-11-18 | 2022-12-13 | Pure Storage, Inc. | Cloud-based disaster recovery |
US10963189B1 (en) | 2018-11-18 | 2021-03-30 | Pure Storage, Inc. | Coalescing write operations in a cloud-based storage system |
US12026060B1 (en) | 2018-11-18 | 2024-07-02 | Pure Storage, Inc. | Reverting between codified states in a cloud-based storage system |
US11379254B1 (en) | 2018-11-18 | 2022-07-05 | Pure Storage, Inc. | Dynamic configuration of a cloud-based storage system |
US11340837B1 (en) | 2018-11-18 | 2022-05-24 | Pure Storage, Inc. | Storage system management via a remote console |
US11650749B1 (en) | 2018-12-17 | 2023-05-16 | Pure Storage, Inc. | Controlling access to sensitive data in a shared dataset |
US11003369B1 (en) | 2019-01-14 | 2021-05-11 | Pure Storage, Inc. | Performing a tune-up procedure on a storage device during a boot process |
US11042452B1 (en) | 2019-03-20 | 2021-06-22 | Pure Storage, Inc. | Storage system data recovery using data recovery as a service |
US11221778B1 (en) | 2019-04-02 | 2022-01-11 | Pure Storage, Inc. | Preparing data for deduplication |
US11068162B1 (en) | 2019-04-09 | 2021-07-20 | Pure Storage, Inc. | Storage management in a cloud data store |
US11327676B1 (en) | 2019-07-18 | 2022-05-10 | Pure Storage, Inc. | Predictive data streaming in a virtual storage system |
US11126364B2 (en) | 2019-07-18 | 2021-09-21 | Pure Storage, Inc. | Virtual storage system architecture |
US11392555B2 (en) | 2019-05-15 | 2022-07-19 | Pure Storage, Inc. | Cloud-based file services |
US11853266B2 (en) | 2019-05-15 | 2023-12-26 | Pure Storage, Inc. | Providing a file system in a cloud environment |
US12001355B1 (en) | 2019-05-24 | 2024-06-04 | Pure Storage, Inc. | Chunked memory efficient storage data transfers |
US11093139B1 (en) | 2019-07-18 | 2021-08-17 | Pure Storage, Inc. | Durably storing data within a virtual storage system |
US11861221B1 (en) | 2019-07-18 | 2024-01-02 | Pure Storage, Inc. | Providing scalable and reliable container-based storage services |
US11487715B1 (en) | 2019-07-18 | 2022-11-01 | Pure Storage, Inc. | Resiliency in a cloud-based storage system |
US11797197B1 (en) | 2019-07-18 | 2023-10-24 | Pure Storage, Inc. | Dynamic scaling of a virtual storage system |
US11526408B2 (en) | 2019-07-18 | 2022-12-13 | Pure Storage, Inc. | Data recovery in a virtual storage system |
US11086553B1 (en) | 2019-08-28 | 2021-08-10 | Pure Storage, Inc. | Tiering duplicated objects in a cloud-based object store |
US11693713B1 (en) | 2019-09-04 | 2023-07-04 | Pure Storage, Inc. | Self-tuning clusters for resilient microservices |
US11797569B2 (en) | 2019-09-13 | 2023-10-24 | Pure Storage, Inc. | Configurable data replication |
US11625416B1 (en) | 2019-09-13 | 2023-04-11 | Pure Storage, Inc. | Uniform model for distinct types of data replication |
US11573864B1 (en) | 2019-09-16 | 2023-02-07 | Pure Storage, Inc. | Automating database management in a storage system |
US11669386B1 (en) | 2019-10-08 | 2023-06-06 | Pure Storage, Inc. | Managing an application's resource stack |
US20210173945A1 (en) | 2019-12-06 | 2021-06-10 | Pure Storage, Inc. | Replicating data to a storage system that has an inferred trust relationship with a client |
US11733901B1 (en) | 2020-01-13 | 2023-08-22 | Pure Storage, Inc. | Providing persistent storage to transient cloud computing services |
US11709636B1 (en) | 2020-01-13 | 2023-07-25 | Pure Storage, Inc. | Non-sequential readahead for deep learning training |
US11720497B1 (en) | 2020-01-13 | 2023-08-08 | Pure Storage, Inc. | Inferred nonsequential prefetch based on data access patterns |
US12014065B2 (en) | 2020-02-11 | 2024-06-18 | Pure Storage, Inc. | Multi-cloud orchestration as-a-service |
US11637896B1 (en) | 2020-02-25 | 2023-04-25 | Pure Storage, Inc. | Migrating applications to a cloud-computing environment |
US11868622B2 (en) | 2020-02-25 | 2024-01-09 | Pure Storage, Inc. | Application recovery across storage systems |
US12038881B2 (en) | 2020-03-25 | 2024-07-16 | Pure Storage, Inc. | Replica transitions for file storage |
US11321006B1 (en) | 2020-03-25 | 2022-05-03 | Pure Storage, Inc. | Data loss prevention during transitions from a replication source |
US11301152B1 (en) | 2020-04-06 | 2022-04-12 | Pure Storage, Inc. | Intelligently moving data between storage systems |
US11630598B1 (en) | 2020-04-06 | 2023-04-18 | Pure Storage, Inc. | Scheduling data replication operations |
US11494267B2 (en) | 2020-04-14 | 2022-11-08 | Pure Storage, Inc. | Continuous value data redundancy |
US11921670B1 (en) | 2020-04-20 | 2024-03-05 | Pure Storage, Inc. | Multivariate data backup retention policies |
US11431488B1 (en) | 2020-06-08 | 2022-08-30 | Pure Storage, Inc. | Protecting local key generation using a remote key management service |
US11442652B1 (en) | 2020-07-23 | 2022-09-13 | Pure Storage, Inc. | Replication handling during storage system transportation |
US11349917B2 (en) | 2020-07-23 | 2022-05-31 | Pure Storage, Inc. | Replication handling among distinct networks |
US11397545B1 (en) | 2021-01-20 | 2022-07-26 | Pure Storage, Inc. | Emulating persistent reservations in a cloud-based storage system |
US11853285B1 (en) | 2021-01-22 | 2023-12-26 | Pure Storage, Inc. | Blockchain logging of volume-level events in a storage system |
US11563744B2 (en) | 2021-02-22 | 2023-01-24 | Bank Of America Corporation | System for detection and classification of intrusion using machine learning techniques |
US20220365827A1 (en) | 2021-05-12 | 2022-11-17 | Pure Storage, Inc. | Rebalancing In A Fleet Of Storage Systems Using Data Science |
US11816129B2 (en) | 2021-06-22 | 2023-11-14 | Pure Storage, Inc. | Generating datasets using approximate baselines |
US11893263B2 (en) | 2021-10-29 | 2024-02-06 | Pure Storage, Inc. | Coordinated checkpoints among storage systems implementing checkpoint-based replication |
US11714723B2 (en) | 2021-10-29 | 2023-08-01 | Pure Storage, Inc. | Coordinated snapshots for data stored across distinct storage environments |
US11914867B2 (en) | 2021-10-29 | 2024-02-27 | Pure Storage, Inc. | Coordinated snapshots among storage systems implementing a promotion/demotion model |
US11922052B2 (en) | 2021-12-15 | 2024-03-05 | Pure Storage, Inc. | Managing links between storage objects |
US11847071B2 (en) | 2021-12-30 | 2023-12-19 | Pure Storage, Inc. | Enabling communication between a single-port device and multiple storage system controllers |
US12001300B2 (en) | 2022-01-04 | 2024-06-04 | Pure Storage, Inc. | Assessing protection for storage resources |
US11860780B2 (en) | 2022-01-28 | 2024-01-02 | Pure Storage, Inc. | Storage cache management |
US11886295B2 (en) | 2022-01-31 | 2024-01-30 | Pure Storage, Inc. | Intra-block error correction |
CN115454900A (zh) * | 2022-08-08 | 2022-12-09 | 北京阿帕科蓝科技有限公司 | 数据传输方法、装置、计算机设备、存储介质和程序产品 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3117244B2 (ja) * | 1991-08-09 | 2000-12-11 | 株式会社東芝 | Eepromの制御装置 |
DE69223099T2 (de) * | 1991-08-09 | 1998-06-10 | Toshiba Ave Kk | Aufzeichnungsgerät für eine Speicherkarte |
JP3485938B2 (ja) | 1992-03-31 | 2004-01-13 | 株式会社東芝 | 不揮発性半導体メモリ装置 |
JPH05313989A (ja) * | 1992-05-08 | 1993-11-26 | Toshiba Corp | メモリカード装置 |
EP0907142B1 (en) | 1992-04-02 | 2007-06-13 | Kabushiki Kaisha Toshiba | Memory card apparatus |
US5519847A (en) * | 1993-06-30 | 1996-05-21 | Intel Corporation | Method of pipelining sequential writes in a flash memory |
JP3197815B2 (ja) | 1996-04-15 | 2001-08-13 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 半導体メモリ装置及びその制御方法 |
CN1262754A (zh) | 1997-03-21 | 2000-08-09 | 卡纳尔股份有限公司 | 计算机存储器组织 |
DE19737182A1 (de) | 1997-08-26 | 1999-03-04 | Bosch Gmbh Robert | Verfahren zum Ändern von Daten |
JPH11203885A (ja) * | 1998-01-09 | 1999-07-30 | Hitachi Ltd | 記憶装置 |
JP4085478B2 (ja) * | 1998-07-28 | 2008-05-14 | ソニー株式会社 | 記憶媒体及び電子機器システム |
KR100684061B1 (ko) | 1999-07-28 | 2007-02-16 | 소니 가부시끼 가이샤 | 기록 시스템, 데이터 기록 장치, 메모리 장치 및 데이터기록 방법 |
US6721843B1 (en) * | 2000-07-07 | 2004-04-13 | Lexar Media, Inc. | Flash memory architecture implementing simultaneously programmable multiple flash memory banks that are host compatible |
US6763424B2 (en) | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
KR100389867B1 (ko) | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US20030204675A1 (en) * | 2002-04-29 | 2003-10-30 | Dover Lance W. | Method and system to retrieve information from a storage device |
-
2003
- 2003-08-25 US US12/016,751 patent/USRE42648E1/en not_active Expired - Fee Related
- 2003-08-25 EP EP03791270A patent/EP1533702A4/en not_active Withdrawn
- 2003-08-25 US US10/486,960 patent/US7107389B2/en not_active Ceased
- 2003-08-25 CA CA002461446A patent/CA2461446A1/en not_active Abandoned
- 2003-08-25 JP JP2004532699A patent/JP4358111B2/ja not_active Expired - Fee Related
- 2003-08-25 CN CNB038014769A patent/CN100347685C/zh not_active Expired - Fee Related
- 2003-08-25 CN CNA2007101472279A patent/CN101114255A/zh active Pending
- 2003-08-25 KR KR1020047004717A patent/KR100944054B1/ko not_active IP Right Cessation
- 2003-08-25 WO PCT/JP2003/010718 patent/WO2004021191A1/ja active Application Filing
- 2003-08-28 TW TW092123756A patent/TWI260535B/zh not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673243B (zh) * | 2009-09-29 | 2011-09-07 | 威盛电子股份有限公司 | 数据储存装置与方法 |
Also Published As
Publication number | Publication date |
---|---|
US7107389B2 (en) | 2006-09-12 |
EP1533702A4 (en) | 2007-05-23 |
JPWO2004021191A1 (ja) | 2005-12-22 |
EP1533702A1 (en) | 2005-05-25 |
USRE42648E1 (en) | 2011-08-23 |
KR100944054B1 (ko) | 2010-02-24 |
TWI260535B (en) | 2006-08-21 |
JP4358111B2 (ja) | 2009-11-04 |
TW200407769A (en) | 2004-05-16 |
CA2461446A1 (en) | 2004-03-11 |
KR20050033504A (ko) | 2005-04-12 |
CN100347685C (zh) | 2007-11-07 |
CN1585930A (zh) | 2005-02-23 |
WO2004021191A1 (ja) | 2004-03-11 |
US20040193786A1 (en) | 2004-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101114255A (zh) | 用于将数据写入快闪存储设备的半导体存储器的装置和方法 | |
US9606911B2 (en) | Apparatuses for managing and accessing flash memory module | |
CN110781096B (zh) | 用于通过预测需求时间来执行垃圾收集的设备和方法 | |
CN102349111B (zh) | 串行非易失性存储器的增强的可寻址性 | |
CN1658171B (zh) | 通过控制频繁受访问扇区对非易失性存储器的更快写操作 | |
CN102422271B (zh) | 用于非易失性存储器***的多页准备命令 | |
CN110008136A (zh) | 管理闪存模块的方法及相关的闪存控制器及电子装置 | |
US20080189490A1 (en) | Memory mapping | |
US20190146908A1 (en) | Method for accessing flash memory module and associated flash memory controller and electronic device | |
US8549212B2 (en) | Flash storage device and operation method thereof | |
US8127072B2 (en) | Data storage device and method for accessing flash memory | |
US20100287330A1 (en) | Method for writing data into flash memory | |
US20210081118A1 (en) | Memory addressing methods and associated controller, memory device and host | |
US20190121726A1 (en) | Method for accessing flash memory module and associated flash memory controller and electronic device | |
KR101400506B1 (ko) | 비휘발성 메모리 제어기 및 그 제어 방법 | |
CN106598504B (zh) | 数据存储方法及装置 | |
CN101000580A (zh) | Nand闪存信息提取方法和nand闪存自动识别方法 | |
CN107045423B (zh) | 存储器装置及其数据存取方法 | |
KR101150654B1 (ko) | 비휘발성 메모리 상의 데이터 관리 방법 및 기계 판독 가능한 매체 | |
CN111966281A (zh) | 数据储存装置与数据处理方法 | |
CN114063933B (zh) | 区块管理方法、存储器控制器和存储器存储装置 | |
US8266370B2 (en) | Method for processing data of flash memory by separating levels and flash memory device thereof | |
CN101719101B (zh) | 存储器的数据读写方法和装置 | |
US20150220432A1 (en) | Method and apparatus for managing at least one non-volatile memory | |
US20110055459A1 (en) | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080130 |