CN102163458B - 半导体存储器装置 - Google Patents

半导体存储器装置 Download PDF

Info

Publication number
CN102163458B
CN102163458B CN201110036760.4A CN201110036760A CN102163458B CN 102163458 B CN102163458 B CN 102163458B CN 201110036760 A CN201110036760 A CN 201110036760A CN 102163458 B CN102163458 B CN 102163458B
Authority
CN
China
Prior art keywords
data
semiconductor memory
page
write
writing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110036760.4A
Other languages
English (en)
Other versions
CN102163458A (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.)
Japanese Businessman Panjaya Co ltd
Kioxia Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Publication of CN102163458A publication Critical patent/CN102163458A/zh
Application granted granted Critical
Publication of CN102163458B publication Critical patent/CN102163458B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk

Landscapes

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

Abstract

本发明涉及半导体存储器装置。根据一个实施例,一种半导体存储器装置包括数据被请求写入其中的半导体存储器芯片。所述数据具有一个或多个预定单位的第一数据的段。所述装置包括:写控制器,其将所述第一数据和冗余信息写入不同的半导体存储器芯片中,所述冗余信息是通过使用预定数目的所述第一数据的段而计算出的且被用于校正所述预定数目的所述第一数据的段中的错误;以及存储单元,其存储识别信息和区域指定信息以使所述存储识别信息和区域指定信息彼此相关联。所述识别信息使所述第一数据和所述冗余信息相关联,并且所述区域指定信息指定所述半导体存储器芯片中的彼此相关联的所述第一数据和所述冗余信息被写入的多个存储区域。

Description

半导体存储器装置
相关申请的交叉引用
本申请基于并要求2010年2月12日提交的在先的日本专利申请2010-029114的优先权;在此通过参考引入其全部内容。
技术领域
本文中描述的实施例一般而言涉及半导体存储器装置。
背景技术
公知在半导体存储芯片中会发生概率性故障(probabilistic failure)。这些故障包括诸如由α束引起的软错误的存储器基元(memory cell)故障以及诸如在读电路或输入/输出缓冲器(I/O缓冲器)中的故障的较大单位故障。对于存储器基元故障,通常,通过将诸如错误校正码(ECC)的冗余数据附加到数据上,可以以预定的单位将由故障引起的错误数据校正在预定数目的错误内。对于诸如在读电路或I/O缓冲器中的故障的较大单位故障,错误的数目极大,因而难以通过现实的电路规模进行错误校正。
在采用多个硬盘驱动器(HDD)的系统中,HDD中的故障成为问题。公知廉价盘冗余阵列(RAID)是用于通过使用由多个HDD构成的错误校正码来解决基于HDD单位的这种故障的技术(参见,例如,″A Case forRedundant Arrays of Inexpensive Disks(RAID)″,UC Berkeley TechnicalReport UCB/CSD-87-391,1987)。在该技术中,通过将数据写入多个HDD并将通过使用该数据获得的冗余信息存储到HDD之一中,由所述多个HDD构成错误校正码。作为当多个HDD出现故障时利用RAID恢复数据的方法,还已知其中使用里德所罗门码(Reed Solomon code)的方法(参见,例如,″A Tutorial on Reed-Solomon Coding for Fault-Tolerance inRAID-like Systems″,James S.Plank,Technical Report CS-96-332,Department of Computer Science University of Tennessee)。
然而,在使用大量半导体存储芯片作为存储器芯片的半导体存储器装置中,即使使用错误校正码(ECC)来修复存储器基元故障,也不能防止存储器芯片的故障。结果,其会变成半导体存储器装置的故障。为了解决存储器芯片的故障,考虑以类似于HDD的方式由多个存储器芯片构成错误校正码。然而,在该方法中,对于每个写操作,为了更新冗余信息,进行对其中写入了冗余信息的存储器芯片的写入。具体而言,在HDD的RAID中,例如,当错误校正码由数据被写入其中的四个HDD A、B、C和D以及冗余信息被写入其中的一个HDD P构成时,如下进行写操作。如果数据被写入HDD A、B、C和D当中的HDD A中,则同样进行向HDDP的写入,以更新冗余数据。
同时,用于半导体存储器装置的NAND型半导体存储器元件(称为NAND存储器)被广泛用作固态驱动器(SSD)的半导体存储器芯片,这是因为每位的面积小且其是非易失性的,但公知写入次数受到限制。因此,需要减少写入次数以增加半导体存储器装置的设计寿命。
同样,在应用使用这样的NAND存储器代替HDD的RAID技术的情况下,每次写入数据,要进行包括写入冗余信息P的两次写入操作,此外,在将数据写入到HDD B、C、D时还要将冗余信息写入到HDD P,从而对于将数据写入到HDD A、B、C以及D的写入操作而言,要进行四次将冗余信息写入到HDD P的写入操作。为了防止仅仅HDD P被耗用四次,可以采用RAID技术中的RAID5。在RAID5中,冗余信息没有被固定到HDDP,而是将五个HDD A、B、C、D以及P用于冗余信息。因此,可以防止仅仅一个NAND存储器相比于其他NAND存储器被更多地耗用。然而,在写入数据时,对于数据和冗余信息要相似地进行两次写入操作。因此,仍然存在半导体存储装置的设计寿命缩短的问题。
发明内容
本发明的一个目的为提供一种半导体存储器装置,其能够处理半导体存储器芯片的故障并改善可靠性,同时还抑制了向半导体存储器芯片写入数据的次数的增加。
根据一个实施例,一种半导体存储器装置包括多个半导体存储器芯片,在所述半导体存储器芯片中描述由信息处理设备请求写入的数据。所述数据具有一个或多个预定单位的第一数据的段。所述半导体存储器装置包括:写控制器,其被配置为将所述预定单位的所述第一数据的段和冗余信息写入不同的半导体存储器芯片中,所述冗余信息是通过使用预定数目的所述第一数据的段而计算出的且被用于校正所述预定数目的所述第一数据的段中的错误;以及存储单元,其被配置为在其中存储识别信息和区域指定信息以使所述存储识别信息和所述区域指定信息彼此相关联,所述识别信息使所述预定数目的所述第一数据的段和所述冗余信息相关联,并且所述区域指定信息指定所述半导体存储器芯片中的彼此相关联的所述第一数据和所述冗余信息被写入的多个存储区域。
根据具有上述配置的半导体存储器装置,在抑制了向半导体存储器芯片写入数据的次数的增加的同时,还处理了半导体存储器芯片的故障并改善可靠性。
附图说明
图1是示例出实施例的半导体存储装置50的硬件配置的图;
图2是用于说明压缩的概念图;
图3是示例出半导体存储装置50的功能配置的图;
图4是示例出正向查找表的数据配置的图;
图5是示例出位向量表的数据配置的图;
图6是示例出将被写入的数据的图;
图7是用于说明通过循环(round-robin)方式进行的写操作的图;
图8是用于说明错误校正码的配置的图;
图9是示出写入将被写入的数据的过程的流程图;
图10是示例出随着时间的流逝写入将被写入的数据的状态的图;
图11是示出读取数据的过程的流程图;
图12是示出恢复其中出现异常的数据的状态的图;以及
图13是示出压缩处理的过程的流程图。
具体实施方式
下面将参考附图详细描述半导体存储装置的示例性实施例。
将参考图1描述根据本实施例的半导体存储器装置的硬件配置。半导体存储器装置50包括处理器51、引导只读存储器(ROM)52、SATA/SAS接口55、存储器控制器53、动态随机存取存储器(DRAM)54、NAND控制器57A到57F、多个半导体存储器元件(NAND)58A到58F、以及连接这些部件的总线56。在不需将NAND控制器57A到57F彼此区分开的情况下,可将它们简单地描述为NAND控制器57。在不需将半导体存储器元件58A到58F彼此区分开的情况下,可将它们简单地描述为半导体存储器元件58。
SATA/SAS接口55在处理器51的控制下控制与作为半导体存储器装置50的高级设备的主机的通信。引导ROM 52存储在电源接通时执行的程序。在半导体存储器元件58中存储各种系统程序。处理器51在电源接通时从引导ROM 52读取程序,执行该程序,根据该程序将存储在半导体存储器元件58中的各种系统程序传送到DRAM 54,并执行DRAM 54上的系统程序,从而控制整个半导体存储器装置50以实现各种功能。具体地,处理器51解释通过SATA/SAS接口55从主机发送的命令,并根据该命令控制数据向半导体存储器元件58的写入和数据从半导体存储器元件58的读取。
存储器控制器53控制DRAM 54。DRAM 54存储各种数据和各种程序。在实施例中,DRAM 54存储稍后描述的正向查找表和位向量表。NAND控制器57控制半导体存储器元件58并包括误差校正电路。
半导体存储器元件58对应于半导体芯片。例如,其是在NAND型闪速存储器中使用的存储器元件。这样的半导体存储器元件58不能随机读/写,而是以称为页的单位进行读/写。多个页形成以所谓的块为单位的存储区域。这里假定一页由4KB构成,而一块由64页形成。每个半导体存储器元件58由多个块构成。在实施例中,如图1所示,半导体存储器元件58的数目为六个。将信道(CH0到CH5)分别分配给半导体存储器元件58A到58F。将这些信道当中的信道(CH5)分配作为在其中写入冗余信息的信道,将其他信道(CH0到CH4)分配作为在其中写入由主机请求写入的数据的信道。使用信道CH0到CH5的页作为集合以构成错误校正码。信道CH0到CH4分别对应于半导体存储器元件58A到58E,而信道CH5对应于半导体存储器元件58F。如稍后所述,在由主机请求写入的数据大于页尺寸的情况下,半导体存储器装置50将数据分割成多个段,并将以页为单位分割的数据(称为,分割的数据段)分配并写入各自的信道CH0到CH4。即,在实施例的基本配置中,半导体存储器装置50将请求以预定单位写入的预定数目的数据段以及通过使用各数据段计算出的用于校正各数据段的错误的冗余信息分别写入到不同的半导体存储器元件58中,从而由这些数据和冗余信息构成错误校正码。作为错误校正码,例如,使用奇偶校验码。
这里,将描述用于写入半导体存储器元件58的写入方法。NAND型半导体存储器元件通常采用日志结构(log-structured)方法。在日志结构方法中,在写入之前需要擦除块。块擦除是要将构成块的所有位都设定为“1”。半导体存储器装置50以块为单位进行这种擦除,并以页为单位进行向已擦除的块的写入。因此,在NAND型半导体存储器元件58中,可以将数据顺序地写入在已擦除的块中的未写入的页,而已写入的页不能被添加页。通过在主机中使用的逻辑块来指示响应于来自主机的请求的数据写入。另一方面,数据和冗余信息向半导体存储器元件58的写入是以页的升序根据半导体存储器元件58的物理块地址进行的而与逻辑块地址无关。物理块地址与逻辑块地址之间的关联被存储在稍后描述的正向查找表中。当在先前数据请求中指定的逻辑块地址被再次指定的情况下由主机请求写入新数据时,半导体存储器装置50将该新数据写入已擦除块的未写入的页。在该情况下,将先前对其进行对应于该逻辑块地址的写入的页设定为无效,并将对其写入新数据的页设定为有效。半导体存储器装置50在构造上述错误校正码的同时写入新数据和冗余信息。
在该日志结构方法中,当通过连续写入而增加被无效的页数时,在半导体存储器元件58中可实现写入的容量(称为可实现的容量)变小。在信息可被写入的新擦除的块的数目(即,在擦除之后尚未写入信息的块(称为空闲块)的数目)减少的时刻,不能确保构成错误校正码的块的组(称为逻辑块),出现写入不可能状态。为了防止该情况,在半导体存储器装置50中,在适当的时机进行无用信息收集(garbage collection)。在半导体存储器元件58中进行的无用信息收集将被特别地称为压缩。图2为用于解释压缩的概念图。半导体存储器装置50收集在包含被无效的页的块中的未被无效的逻辑块地址中写入的数据(称为有效数据),并将所收集的有效数据重新写入空闲块中,从而将有效数据移动到空闲块。之后,半导体存储器装置50擦除这些块从而产生新的空闲块。在半导体存储器装置50中,通过进行这样的压缩,不可写入的块重新变为可写入的,这允许保留空闲块。也就是,通过进行压缩而产生新的空闲块。此外,如果由于移动数据而在有效数据被写入的块中存在未写入的页,则数据被重新写入剩余的未写入的页。
需要至少一个空闲块以进行这样的压缩,这意味着在NAND型半导体存储器元件58中实施的容量(称为实施容量)小于写入可被实际实现的容量。在实施例中,实施容量和可实现容量之间的差称为备用容量。当备用容量小时,半导体存储器装置50必须频繁地进行压缩,这对其操作有很大的影响。参考图2,已经描述了基于块单位的压缩。在实施例中,逻辑块是基本单位,因此为每个信道保留空闲块以构成逻辑块,并且基于逻辑块单位进行压缩。
接下来,将参考图3描述在半导体存储器装置20中实现的功能。半导体存储器装置50包括主机接口单元60、缓冲器控制器61、地址转译单元62、CH分配单元63、压缩候补检测器64、管理表更新单元65、NAND控制器66A到66F、数据缓冲器67、压缩读取队列(queue)68以及管理表69。通过由处理器51执行程序和SATA/SAS接口55的功能来实现主机接口单元60的功能。当处理器51执行程序时,实现地址转译单元62、CH分配单元63、管理表更新单元65、压缩候补检测器64、以及缓冲器控制器61的功能。NAND控制器66A到66F的功能分别对应于NAND控制器57A到57F,并通过处理器51执行程序和分别对应于NAND控制器66A到66F的NAND控制器57A到57F的功能而实现。NAND控制器66A到66F以一对一对应的方式分别对应于信道CH0到CH5被分配给的半导体存储器元件58A到58F。在不需使NAND控制器66A到66F彼此区分开的情况下,可将它们简单地描述为NAND控制器66。数据缓冲器67、压缩读取队列68以及管理表69为例如存储在DRAM 54上的信息。
主机接口单元60是控制主机与半导体存储器装置50之间的通信的接口。主机接口单元60接收从主机发送的命令。当该命令请求写入具有指定的逻辑块地址的数据时,主机接口单元60将该命令(称为写命令)发送到稍后描述的地址转译单元62。当被请求写入的数据的尺寸等于或小于页尺寸时,主机接口单元60将该数据发送到稍后描述的缓冲器控制器61。当该数据的尺寸大于页尺寸时,主机接口单元60将该数据分割成多个页单位的段并将由此分割的数据(称为经分割的数据段)发送到缓冲器控制器61。这是因为,逻辑块地址与物理块地址之间的转译是基于页单位进行的。例如,主机接口单元60将128KB的数据分割成32段4KB的数据。为了便于描述,将响应于写命令而发送到缓冲器控制器61的数据或经分割的数据段称为写目标数据。
在从主机发送到命令请求读取具有指定的逻辑块地址的数据的情况下,如果被请求读取的数据的尺寸等于或小于页尺寸时,主机接口单元60将该命令(称为读命令)发送到地址转译单元62。在被请求读取的数据的尺寸大于页尺寸时,主机接口单元60将请求基于页单位读取数据的命令(读命令)发送到地址转换器62。主机接口单元60通过使用由从主机发送的命令指定的逻辑块地址而计算要被读取的每段数据的逻辑块地址,并将请求读取具有所计算出的逻辑块地址的数据的读命令发送到地址转译单元62。主机接口单元60通过稍后描述的缓冲器控制器61读出将被读取的存储在读取缓冲器67中的指定区域中的数据,并将其发送到主机。
管理表69包括正向查找表和位向量表。正向查找表在其中存储彼此相关联的识别信息和区域指定信息。识别信息用于使将被写入的数据和冗余信息相关联,而区域指定信息指定在半导体存储器元件58中的多个存储区域,彼此相关联的将被写入的数据和冗余信息被写入所述多个存储区域中。正向查找表指示出将被写入的数据的逻辑地址与物理地址之间的关联,该物理地址指示出将被写入的数据在半导体存储元件58中的物理存储位置。在指定物理地址时使用这样的正向查找表,该物理地址指示出半导体存储元件58上的在其中存储对应于由主机指定的逻辑地址的数据的位置。图4是示出正向查找表的数据配置的图。如图4中所示,正向查找表具有LBA表和逻辑到物理转换表。LBA表包括作为索引的逻辑地址和条目(entry),条目包括信道号码、赋予页的页号码、以及赋予在其中存储数据的逻辑块的逻辑块号码。
逻辑块号码是使写目标物理块与冗余信息物理块彼此相关联的识别信息。逻辑块号码是唯一的号码,其被以产生它们的顺序赋予每一个的块。在该实施例中信道号码是CH0到CH4,并且指示出包括与逻辑块地址相关联的数据被存储于其中的物理块的半导体存储器元件58被连接到哪一个信道。页号码指示出与该逻辑块地址相关联的数据被存储在由逻辑块号码和信道号码识别的物理块的哪一页。例如,可以以物理块地址的顺序提供页号码,或者物理块地址本身可以被提供作为页号码。
逻辑-物理转译表是指定在半导体存储器元件58中指定多个存储区域的区域指定信息,写目标数据和冗余信息将被写入所述多个存储区域,并且,该逻辑-物理转译表在其中存储逻辑块号码和与该逻辑块相关联的信道的物理块以使它们彼此对应。逻辑到物理转译表在其中存储作为索引的逻辑块号码,并且存储与该逻辑块相关联的信道的物理块的地址(物理块地址)。在这样的配置中,使用在与一个逻辑块地址对应的LBA中的条目中所存储的逻辑块号码作为索引,利用该索引指定与该逻辑块相关的逻辑到物理转译表中的条目。接下来,从逻辑到物理转译表中的条目中所存储的物理块当中指定这样的半导体存储器元件58中的物理块,该半导体存储器元件58被连接到在LBA表中的条目中所记录的信道号码的信道。利用在LBA表中的条目中所包括的页号码来指定这样的页,与逻辑块地址对应的数据被写入该页中。
如上所述,基于页单位在信道CH0到CH4中存储由主机请求的将被写入的数据,并且在信道H5中写入将被附加以构成错误校正码的冗余信息。因此,冗余信息被写入由逻辑到物理转译表中的每个条目指示的信道CH5的物理块地址的存储区域中。由于不存在对应于冗余信息的逻辑块地址,因此与该冗余信息有关的条目未被记录在LBA表中。关于冗余信息的信息被记录在逻辑到物理转译表中的条目中。每次在半导体存储器元件58中写入写目标数据和冗余信息时,更新正向查找表。稍后将描述如何更新正向查找表。
接下来,将参考图5描述位向量表。位向量表是这样的表,其以物理块的顺序以二值表示在与逻辑块相关联的物理块当中的在信道CH0到CH4中的每个信道上的每个物理块中的哪个页是有效数据被写入的页(称为有效页)。每个页的该二值表示称为位向量。如果位向量的值为“1”,这意味着该页是有效页,而如果位向量的值为“0”,这意味着该页不是有效页(无效)。在初始状态下,位向量的值都被设定为“0”。
在实施例中,在与逻辑块相关联的物理块当中,写目标数据被写入的信道为五个信道CH0到CH4,并且,如果假设一个物理块包括64个页,则一个逻辑块包括320个页。因此,对应的位向量的数目为每逻辑块320个。如图5所示,对于每个逻辑块,位向量表包括作为其索引的上述逻辑块号码、位向量、以及计数器,其中位向量与在信道CH0到CH4的每个物理块中所包括的每个页相关联,而这些物理块与逻辑块号码将被赋予其的逻辑块相关联。在实施例中,提前将逻辑到物理转译表中的条目和位向量表中的位向量设置为使逻辑到物理转译表中的索引匹配位向量表中的索引。在图5中,以信道CH0到CH4的每个物理块的页的顺序设置位向量,使得从左边开始为CH0的第一页、第二页、......、CH0的最后一页、CH1的第一页、第二页、......、CH1的最后一页等等。计数器表示其值为“1”的位向量的总数目。由于其对应的位向量具有值“1”的页是有效页,因此计数器表示在逻辑块中的有效页的数目。在这样的配置中,每次主机请求写入数据时,更新位向量表。稍后将描述如何更新位向量表。
返回去参考图3进行描述。地址转译单元62接收来自主机接口单元60的命令。当该命令是读命令时,地址转译单元62使用由该读命令指定的逻辑块地址而参照管理表69中的正向查找表,并且确定信道和由该读命令请求读取的数据被写入的页的物理块地址。地址转译单元62指定信道和物理块地址,并将请求读取数据的命令通过CH分配单元63而发送到NAND控制器66。相反地,当从主机接口单元60接收到的命令为写命令时,地址转译表单元62将写命令发送到稍后描述的CH分配单元63。
响应于在稍后描述的压缩读取队列68中存储的压缩读命令,地址转译单元62通过参照正向查找表而将请求读取在具有由压缩读命令指定的物理地址的有效页中的数据(有效数据)的命令发送到与这样的信道对应的NAND控制器66,具有包括该有效页的物理块的半导体存储器元件58被连接到该信道。通过NAND控制器66从半导体存储器元件58读出该有效数据,并通过缓冲器控制器61将该有效数据存储在数据缓冲器67中。地址转译单元62将请求写入该有效数据的命令(称为压缩写命令)发送到CH分配单元63。
CH分配单元63接收来自地址转译单元62的命令,并且当该命令是写命令时,确定写目标数据将被写入的信道。例如,CH分配单元63在除了向其中写入冗余信息的信道(在该情况下为信道CH5)之外的信道中以4KB为单位以循环的方式进行写操作,并根据循环的次序确定数据被写入的信道。然后,CH分配单元63将请求写入该写目标数据的命令发送到与所确定的信道对应的NAND控制器66。相反地,在请求读取具有由来自地址转译单元62的命令指定的信道和制定的物理块地址的数据的情况下,将请求读取具有所指定的物理块地址的数据的命令发送到与该指定的信道对应的NAND控制器66。在从地址转译单元62接收到的命令为压缩写命令的情况下,CH分配单元63根据循环的次序确定数据将被写入的信道,并将请求写入有效数据的命令发送到与所确定的信道对应的NAND控制器66。
NAND控制器66接收来自CH分配单元63的命令,并根据该命令访问对应的半导体存储器元件58。具体地,当该命令请求写入数据时,NAND控制器66通过缓冲器控制器61而获得写目标数据,并将该写目标数据写入半导体存储器元件58。在写入时,NAND控制器66将写入指针设定为顺序地逐页指向对应的半导体存储器元件58的已擦除块中的未写入的页当中的写入位置,将写目标数据写入在由写入指针指向的位置处的页,然后更新该写指针以指向作为在经历了写入了页之后的下一页的未写入的页的位置。因此,写入指针的值改变以顺序地指向下一个写入位置。例如,当每个信道中由15位的物理块地址识别块且块包括64页时,写入指针具有总共15+6=21个位。
这里,下面将描述写目标数据和冗余信息的数据配置。NAND控制器66将错误校正码(称为页ECC)和由写命令指定的逻辑块地址附加到写目标数据,该错误校正码用于检测和校正写目标数据本身的错误。假定页ECC包括诸如用于检测数据错误的CRC码和用于校正数据错误的ECC码的代码。页ECC还包括CRC码的原因在于,存在当数据被校正为错误数据的失误校正的可能性。图6是示例出冗余信息被附加至其的写目标数据的图。在如上所述确定的信道的半导体存储器元件58中,NAND控制器66将这样的页ECC和逻辑块地址被附加至其的写目标数据写入在如上所述确定的每个信道中的半导体存储器元件58中的写入指针所指向的页。写目标数据具有页单位的尺寸。假定半导体存储器元件58的页尺寸等于包括写目标数据以及所附加的页ECC和逻辑块地址的整个数据的尺寸。基于由写命令指定的逻辑块地址通过每个NAND控制器66来计算每个经分割的数据段的逻辑块地址。相反地,与CH5对应的NAND控制器66F将用于检测和校正冗余信息本身的错误的页ECC附加到冗余信息,所计算的用于构成错误校正码的冗余信息被写入该信道CH5。NAND控制器66将页ECC被附加至其的冗余信息写入由写入指针指向的半导体存储器元件58F中的页中。
接下来,将描述通过循环处理将作为写目标数据的多个经分割的数据段写入信道CH0到CH5。图7是用于说明由循环处理进行的写入的图。为了简化该图,未示出附加到经分割的数据段的逻辑块地址。如图所示,以循环方式从信道CH0到信道CH4顺序地写入经分割的数据段,写入的方式使得第一经分割的数据D1在时刻T1被写入信道CH0且下一经分割的数据D2在时刻T2被写入信道CH1。当经分割的数据D5在时刻T5被写入信道CH4时,计算在时刻T1被写入信道CH0的经分割的数据D1、在时刻T2被写入信道CH1的经分割的数据D2、在时刻T3被写入信道CH2的经分割的数据D3、在时刻T4被写入信道CH3的经分割的数据D4的奇偶性p以及在时刻T5被写入信道CH4的经分割的数据D5的奇偶性P作为冗余信息,并且将该冗余信息P写入信道CH5中。在进一步写入经分割的数据段时,以循环的方式从CH0开始顺序地写入数据。通过以循环的方式写入经分割的数据段,均匀地进行对信道的写入操作。在该图的实例中,示出了随着时间的流逝按信道的次序写入数据的状态。然而,本发明不限于该实例。数据可以被同时写入两个或更多个信道。
接下来,将参考图8描述错误校正码的配置。为了便于说明,在该图中,未示出附加到将被写入每个信道CH0到CH4的经分割的数据段的逻辑块地址。如图8所示,对应于信道CH5的NAND控制器66F计算在信道CH0到CH4中写入的数据段中的相同偏移位置处的字节的异或,并将由此计算出的值作为冗余信息写入信道CH5的半导体存储器元件58F中的相同偏移位置中。即,错误校正码由在信道CH0到CH5的相同偏移位置处的字节构成。
返回去参考图3进行描述。当从CH分配单元63接收到的命令请求读取具有指定的物理块地址的数据时,NAND控制器66使用该物理块地址从与半导体存储器元件58中的该物理块地址对应的位置读出数据,并将读出的数据发送到缓冲器控制器61。如果在从半导体存储器元件58读出的数据中存在错误,则NAND控制器66检测并校正该错误。稍后将描述检测和校正数据错误的方法。当从地址转译单元62接收到的命令请求读取具有指定的物理块地址的有效页中的数据(有效数据)时,NAND控制器66通过使用该物理块地址读出在半导体存储器元件58中的与该物理块地址对应的页中写入的数据,并将读出的数据存储在数据缓冲器67中。当从CH分配单元63接收到的命令请求写入有效数据时,NAND控制器66通过缓冲器控制器61检索(retrieve)写目标有效数据,并将该有效数据写入半导体存储器元件58。
压缩候补检测器64参照包括在管理表69中的位向量表,确定要作为用于压缩的候补的逻辑块,并将这样的命令(称为压缩读命令)发送到压缩读取队列68,该命令指定逻辑块中的有效页的物理块地址并请求读取该有效页。
数据缓冲器67是用于存储写目标数据的缓冲器。压缩读取队列68是存储请求读取用于压缩的有效页的命令的先进先出缓冲器。
缓冲器控制器61管理作为多个区域的数据缓冲器67,并管理其中存储了对应于该命令的数据的区域。具体地,缓冲器控制器61响应于写命令而将从主机接口单元60发送的写目标数据存储到数据缓冲器67中,并将该写目标数据发送到与由CH分配单元63确定要写入的信道对应的NAND控制器66。通过NAND控制器66将该写目标数据写入半导体存储器元件58中。响应于读命令,缓冲器控制器61将从NAND控制器66发送的数据存储到数据缓冲器67中的指定区域中,然后将该数据发送到主机接口单元60。通过主机接口单元60将该数据发送到主机。响应于压缩读命令,缓冲器控制器61通过NAND控制器66将从半导体存储器元件58读出的数据存储到数据缓冲器67中。
在从主机接收到请求写入具有指定的逻辑块地址的数据的命令(写命令)的情况下,管理表更新单元65参照正向查找表,更新位向量表,并进一步更新正向查找表。具体地,管理表更新单元65首先参照正向查找表以查找对应于该逻辑块地址的物理块地址。即,管理表更新单元64查找与该逻辑地址相关联的数据已被写入物理块的哪个页中。如果在正向查找表中未存储与该逻辑块地址相关联的物理块地址,则尚未进行与该逻辑块地址相关联的数据的写入。在该情况下,管理表更新单元65将位向量表中的对应于与该逻辑块地址相关联的写目标数据被写入的页的位向量的值设定为“1”。由写入指针指向写目标数据被写入的页。管理表更新单元65使与包括该页的物理块相关联的逻辑块中的有效页的数目的计数器的值增加1。
相反地,如果当管理表更新单元65参照正向查找表时与该逻辑块地址相关联的物理块地址存在于正向查找表中,则在之前已进行了与该逻辑块地址相关联的数据的写入。在该情况下,由于用于本次写入的写命令,需要使之前写入的数据无效。为了该目的,管理表更新单元65将与这样的物理块地址处的页对应的位向量的值设定为“0”,该物理块地址处的页被存储在用于由写命令指定的逻辑块地址而参照的正向查找表的条目中。另外,管理表更新单元65使指示出与包括该页的物理块相关联的逻辑块中的有效页的数目的计数器的值减小1。管理表更新单元65将与写目标数据要被写入的页对应的位向量的值设定为“1”,并使与包括该页的物理块相关联的逻辑块中的有效页的数目的计数器的值增加1。通过每次在进行数据的写入时都进行更新,位向量表和有效页的数目的计数器总是指示出有效页的位置及其数目。最后,管理表更新单元65在正向查找表中的与该逻辑块地址对应的条目中记录写目标数据被写入的物理块地址。
接下来,将描述根据实施例由半导体存储器装置50进行的处理的过程。首先,将参考图9描述响应于来自主机的写命令通过半导体存储器装置50在半导体存储器元件58中写入写目标数据的过程。在开始写之前,半导体存储器装置50提前保留用于信道的空闲块。当从主机接收到请求写入具有指定的逻辑块地址的数据的写命令(步骤S1)时,半导体存储器装置50在每个信道中选择一个空闲块并通过使信道CH0到CH5的空闲块相关联而构成逻辑块。当从主机接收到请求写入具有指定的逻辑块地址的数据的写命令且在当前逻辑块中没有剩下未写入的页时,则半导体存储器装置50会获取空闲块。当在当前逻辑块中剩下任何未写入的页时,半导体存储器装置50不获取空闲块并将数据写入该逻辑块中的未写入的页中。半导体存储器装置50将一逻辑块号码赋予该逻辑块并将作为索引的该逻辑块号码以及信道中的物理块的与该逻辑块相关联的各物理块地址记录到逻辑到物理转译表中。此时,半导体存储器装置50设置逻辑到物理转译表条目的分类顺序(sorting order)、逻辑到物理转译表条目中的信道中的物理块的物理块地址的分类顺序、以及位向量表中的位向量,以便可通过使用逻辑到物理转译表中的索引来参照与该逻辑块相关联的每个物理块的位向量。半导体存储器装置50为每个信道设定用于指示数据将被写入的每个物理块的页的写入指针以及在每个物理块中的与该逻辑块相关联的物理块地址。在开始写之前,半导体存储器装置50将每个信道的写入指针设定为指向该信道的头部处的物理块的第一页。
半导体存储器装置50确定由写命令请求写入的数据的尺寸是否等于或小于页尺寸(步骤S2)。在页尺寸等于或小于页的尺寸(步骤S2中的是)的情况下,半导体存储器装置50在数据缓冲器67中存储数据(写目标数据)(步骤S4)。相反地,在由写命令请求写入的数据的尺寸大于页尺寸(步骤S2中的否)的情况下,半导体存储器装置50将该数据分割为以页为单位的多个段(步骤S3)并将经分割的数据段(写目标数据)记录到数据缓冲器67中(步骤S4)。
半导体存储器装置50基于由写命令指定的逻辑块地址而参照正向查找表,并且当在其中已经记录了与写目标数据的逻辑块地址对应的物理块地址时,半导体存储器装置50在例如DRAM 54中存储该物理块地址作为旧物理块地址(步骤S5)。半导体存储器装置50以循环方式确定写目标数据将被写入的信道(步骤S6)并将具有附加至其的页ECC和逻辑块地址的写目标数据写入由所确定的信道的半导体存储器元件58中的写入指针所指向的页(步骤S7)。然后,半导体存储器装置50将每个信道的写入指针更新为指向在该写目标数据被写入的页之后的下一个未写入的页(步骤S8)。
图10是示出随着时间的流逝在信道CH0中写入作为写目标数据的经分割的数据段的状态的图。首先,在时刻t0,保留空闲块。在时刻t1,将第一经分割的数据D1写入在时刻t0保留的空闲块中的第一页(位于头部或末端)中。在时刻t2,以循环方式在信道CH0中的第二页中写入新确定的经分割的数据D6。相似地,在时刻t3,在第三页中写入经分割的数据D11。在时刻t4,在第四页中写入经分割的数据D16。以这样的方式,在物理块中以升序确定经分割的多段数据被写入的页而与逻辑块地址无关。每次在进行写入时都将写入指针设定为指向以升序将数据写入其中的页。在实施例中,以循环方式均匀地进行对信道的写入操作,从而在每个信道中由写入指针指向的页号码之间的差最大为1。当在逻辑块中的最后一页上完成了写入时,在各信道中由写入指针指向的页号码是相同的。
如上所述,无论由来自主机的写命令指定的逻辑块地址的值如何,都以升序分配写目标数据被写入的页的物理块地址,并且数据被写入这些页中。
返回去参考图9进行描述。当写入写目标数据时,半导体存储器装置50将写目标数据的逻辑块地址与该写目标数据将被写入的页的物理块地址之间的关联性记录到图4所示的正向查找表中(步骤S9)。如果该写目标数据是经分割的数据段,则半导体存储器装置50基于由写命令指定的逻辑块地址而计算经分割的数据段的物理块地址中的每一个。由于经分割的数据段以页为单位,半导体存储器装置50计算通过顺序地将页尺寸(4KB)附加到所指定的逻辑块地址而获得的值作为经分割的数据段的逻辑块地址。然后,半导体存储器装置50将该逻辑块地址、与写目标被写入的每个信道的物理块相关联的逻辑块的逻辑块号码以及指示出在当前处理中写目标数据被写入的信道和页的信道号码和页号码记录到LBA表中。在上述实例中,由更新之前的写入指针的较低的六位指示出页号码,因此可以使用该值作为页号码。每次在进行写目标数据的写入时,半导体存储器装置50更新正向查找表,如上所述。
此外,半导体存储器装置50参照位向量表,将与在步骤S5中存储在DRAM 54中的旧物理块地址的页对应的位向量的值设定为“0”,并使与包括该页的物理块相关联的逻辑块的有效页的数目的计数器的值减小1(步骤S10)。旧物理块地址指示出与由在步骤S10中接收到的写命令指定的逻辑块地址相关联的先前向其写入数据的页。此外,半导体存储器装置50将与在步骤S7中写目标数据被写入的页对应的位向量的值设定为“1”,并使包括该页的逻辑块的有效页的数目的计数器的值增加1(步骤S11)。以这样的方式,在写入写目标数据时,半导体存储器装置50更新位向量表。
在步骤S7中,在完成了写目标数据向信道CH0到CH4的写入之后,半导体存储器装置50计算在信道CH0到CH4中的写目标数据中的相同偏移位置处的字节的异或并将该值写入信道CH5中的相同偏移位置中,从而写入冗余信息。或者,半导体存储器装置50可在向信道CH0到CH4写入写目标数据的同时开始计算异或。
在写入指针到达所有信道(CH0到CH5)中的块的末端并且数据变得不能被新写入该逻辑块中的情况下,半导体存储器装置50构造新的逻辑块。构造逻辑块的方法如上所述。向新的逻辑块写入经分割的数据段和冗余信息的方法也如上所述。
接下来,将参考图11描述半导体存储器装置50根据来自主机的读命令而从半导体存储器元件58读出数据的过程。当从主机接收到请求读取具有指定的逻辑块地址的数据的读命令(步骤S20)时,半导体存储器装置50确定由读命令请求读出的数据的尺寸是否等于或小于页尺寸(步骤S21)。在该数据的尺寸等于或小于页尺寸(步骤S21中的是)的情况下,半导体存储器装置50通过使用由该读命令指定的逻辑块地址而参照正向查找表的LBA表并确定逻辑块号码。接下来,半导体存储器装置50通过使用所确定的逻辑块号码而参照逻辑到物理转译表并确定将从其中读出数据的信道、物理块和页(步骤S23)。半导体存储器装置50从对应于所确定的信道的半导体存储器元件58中读出数据(步骤S24)。
相反地,在由读命令请求读出的数据的尺寸大于页尺寸(步骤S21中的否)的情况下,半导体存储器装置50对读取进行分割以使将被读出的数据变为以页为单位的数据段。也就是,半导体存储器装置50通过使用由该读命令指定的逻辑块地址而计算将被读出的数据段的逻辑块地址中的每一个(步骤S22)。半导体存储器装置50通过使用计算出的每一个逻辑块地址而参照正向查找表的LBA表并确定每一个逻辑块号码。接下来,半导体存储器装置50通过使用所确定的逻辑块号码中的每一个而参照逻辑到物理转译表并确定将从其中读出数据的信道、物理块和页中的每一个(步骤S23)。半导体存储器装置50从与所确定的信道对应的半导体存储器元件58中读出数据段(步骤S24)。
通过附加到数据的页ECC来确保在步骤S24中读出的数据的有效性。也就是,半导体存储器装置50检测该数据中的错误并通过使用附加到所读出的数据的页ECC而加以校正。然而,当存在不能用页ECC校正或用页ECC失误校正的错误时,存在在半导体存储器元件58中发生故障和在数据中发生异常的可能性。在这样的情况下(步骤S25中的否),半导体存储器装置50通过使用在读出数据时使用的逻辑块地址来参照正向查找表,确定与已从其中读出数据的信道的物理块相关联的逻辑块(步骤S27),读出在与所确定的逻辑块相关联的其他信道的物理块中写入的其他数据段和冗余信息,并通过使用该其他数据段和冗余信息而恢复包括不可校正的错误的数据。
作为实例,图12是示出恢复由于在例如信道CH3的半导体存储器元件58中发生故障而变为异常的数据的状态的图。具体地,半导体存储器装置50读出在除了与在步骤S27中确定的逻辑块相关联的物理块之外的信道的物理块中写入的其他数据段和冗余信息(在信道CH0、CH1、CH2和CH4中写入的数据段和在信道CH5中写入的冗余信息)以及从其中读出了不能校正的错误数据的物理块。半导体存储器装置50通过获得在所述其他数据段和冗余信息中的相同偏移处的异或(即,在相同偏移位置处的按字节的异或)而恢复信道CH3中的数据。半导体存储器装置50将恢复的数据存储在数据缓冲器67中(步骤S28)并前进到步骤S29。
由于存在在从其中读出错误数据的页中发生异常的高度可能性,半导体存储器装置50将恢复的数据重新写入不同的页。半导体存储器装置50通过使用在数据的读取时使用的逻辑块地址而更新位向量表和正向查找表。更新表的方法如上所述。作为更新的结果,从其中读出错误数据的页的位向量被更新为“0”,恢复的数据被写入的页的位向量被更新为“1”,并且将恢复的数据被写入的页的物理块地址记录在用于由读命令指定的逻辑块地址的正向查找表的条目中。
在步骤S24中读出的数据中不存在错误的情况下,半导体存储器装置50将该数据存储在数据缓冲器67中的指定区域中,并前进到步骤S29。即使在步骤S24中读出的数据中存在错误,半导体存储器装置50也可利用页ECC校正数据(步骤S26),将校正后的数据存储在数据缓冲器67中的指定区域中,并前进到步骤S29。在步骤S29中,半导体存储器装置50将存储在数据缓冲器67中的指定区域中的数据发送到主机。
当读取由在步骤S20中接收到的读命令请求的多个数据段时,半导体存储器装置50可根据由该命令指定的逻辑块地址而从与不同的逻辑块相关联的信道的物理块读取数据。由于如上所述在读取数据时可独立地访问这些信道,因此可以响应于来自主机的请求而读出数据,并且可以以高的响应度向主机发送该数据。
接下来,将参考图13描述把被写入在要经受压缩的逻辑块中的有效数据移动到空闲块的过程。半导体存储器装置50将“M=4096”设定为有效页的数目的最大值,并将“K=0”设定为位向量表中的每个逻辑块的条目的索引(步骤S40)。半导体存储器装置50通过参照位向量表而逐一地对每个逻辑块顺序地读出有效页的数目的计数器的值,并确定计数器的值是否小于M(步骤S42)。在有效页的数目的计数器的值等于或大于M(步骤S42中的否)的情况下,该装置前进到步骤S44。在有效页的数目的计数器的值小于M(步骤S42中的是)的情况下,半导体存储器装置50用计数器的值来替代M的值,并在步骤S41中将有效页的数目的计数器的值的读取所利用的条目的索引的值设定为K(步骤S43),并前进到步骤S44。
在步骤S44中,半导体存储器装置50确定是否已对位向量表中的所有逻辑块读出了有效页的数目的计数器的值。在对所有逻辑块读出了有效页的数目的计数器的值(步骤S44中的否)的情况下,半导体存储器装置50使K的值增加1(步骤S45)并返回到步骤S41。在步骤S41中,半导体存储器装置50按位向量表中的K的顺序读出尚未读出的逻辑块中的有效页的数目的计数器的值。相反地,在已对所有逻辑块读出了有效页的数目的计数器的值(步骤S44中的是)的情况下,半导体存储器装置50将K的值设定为在逻辑到物理转译表中作为要进行压缩的候补的逻辑块的索引(步骤S46)。如上所述,由于条目被设置为可使用逻辑到物理转译表的索引来参照位向量表,因此可以使用位向量表中的条目的索引K作为逻辑到物理转译表中的条目的索引。半导体存储器装置50对与在逻辑到物理转译表中的索引K所指示的条目的逻辑块相关联的信道CH0到CH4中的每个物理块确定其在位向量表中的位向量指示“1”的页(有效页)中所存储的数据(有效数据),并将所有有效数据读出到数据缓冲器67。半导体存储器装置50提取附加到有效数据的逻辑块地址(步骤S47)。
半导体存储器装置50以类似于如上所述响应于写命令而进行数据写入的方式写入在步骤S47中读出的每段有效数据。也就是,半导体存储器装置50以循环方式从信道CH0到CH4当中确定有效数据将被写入的信道,并将该有效数据写入由该信道中的半导体存储器元件58中的已擦除块中的写入指针指示的页。之后,半导体存储器装置50将写入指针更新为指向在该有效数据被写入的页之后的下一未写入的页。基于在信道CH0到CH4中写入的数据而计算冗余信息,并将该冗余信息写入信道CH5中。半导体存储器装置50将被附加到写入的有效数据的逻辑块地址与该有效数据被写入的页的物理块地址之间的关联性记录到正向查找表中以更新该表(步骤S48)。更新正向查找表的方法如上所述。在压缩时,通过更新正向查找表,可以使数据的逻辑块地址与物理块地址之间的关联性总是保持正常。由于逻辑块地址被附加到数据,可以在进行压缩时容易地更新逻辑块地址与数据被写入的物理块地址之间的关联性。
当完成了从数据缓冲器67读出加载到数据缓冲器67的所有有效页中的数据(步骤S49中的是)并完成了向半导体存储器元件58的写入时,半导体存储器装置50对与步骤S46中作为要进行的压缩的候补的逻辑块相关联的信道CH0到CH5中的物理块进行擦除操作,并完成压缩处理。
进行压缩处理的时机可以为例如当通过对逻辑块的构造进行检查而获得的空闲块的数目等于或小于预定数目时的时机。
如上所述,在使用多个半导体存储器元件以便即使在半导体存储器元件中的任一个发生故障时也可以对数据进行存取的配置中,基于页单位写入数据。以页单位分割大于页尺寸的数据。之后,将经分割的数据段分配到半导体存储器元件58并写入每个半导体存储器元件58中的页,以便均匀地进行对半导体存储器元件58的写操作。通过将用于被写入多个半导体存储器元件的页中的数据的冗余信息写入单个半导体存储器元件的页中,由多个半导体存储器元件的页构成错误校正码。基于页单位进行数据读取,并且,当在数据中出现异常时,认为该异常出现在该数据被写入的半导体存储器元件58中的页中,通过使用在包括异常页的半导体存储器装置以及其他半导体存储器元件之中构成的错误校正码而恢复数据。
通过这样的配置,相对于向多个页(在上述实例中为五个页)的数据写入,可以将用于写入与该数据对应的冗余信息的页抑制为比用于数据写入的页少的页(在上述实例中为一个页)。相比而言,在HDD的RAID中,相对于一个页的数据写入,与该数据对应的冗余信息的写入为一个页。在实施例中,可以将该冗余信息的写入抑制为1/N(在上述实例中为五分之一)。如上所述,由于在NAND型半导体存储器元件中写入次数受到限制,同时抑制了写入冗余信息的次数,因此可以改善半导体存储器装置50的可靠性。
在HDD的RAID中,当在数据中出现异常时,认为在其中存储数据的整个HDD出现故障,卸下该HDD,并利用在其中存储故障数据的HDD和其他HDD之中构成的错误校正码来恢复数据。在实施例中,即使当在数据中出现异常,也可以将其处理为作为半导体存储器元件的一部分的块或页的故障,而不是整个半导体存储器元件的故障。因此,还可以处理较小单位的错误。即使当整个半导体存储器元件出现故障,也可以利用在其中存储该故障数据的半导体存储器元件以及其他半导体存储器元件之间构成的错误校正码来恢复在该半导体存储器元件中写入的数据。因此,可以实现极高的可靠性。
通过这样的配置,即使当由于在半导体存储器元件中的故障等等而在数据中出现异常,也可以利用错误校正码恢复该数据。因此,可以改善半导体存储器装置50的可靠性,并且可以抑制受到限制的半导体存储器元件的写入次数的增加。
在实施例中,通过提供位向量表,可以高速且有效地进行压缩。为了进行压缩,半导体存储器装置50必须识别块中的有效数据被写入其中的有效页,获得对应于该有效页的逻辑块地址,移动该有效数据,并进行使该逻辑块地址与数据被移动到的页的物理块地址相关联的更新处理。可以通过正向查找表进行有效页的识别和物理块地址的更新。然而,正向查找表是通过被优化为使用逻辑块地址作为索引的搜索而构成的。因此,在进行压缩时通过正向查找表对有效页的识别和对物理块地址的更新引起搜索时间的惩罚增加。
经历了压缩的逻辑块具有所期望的小的有效页数目。其原因在于,通过使用压缩而移动有效页,获得了许多空闲块。为了选择具有小的有效页数目的逻辑块,可以选择具有其值为“1”的位向量的小数目的条目。为了对其值为“1”的位向量的数目进行计数,例如,可以提供群体(population)计算(总之,对其值为“1”的位的数目的计数)。然而,当条目的位宽度大(在该实例中为320位)时,难以计算一个周期中的位的数目。因此,在实施例中,半导体存储器装置50根据位向量的值的变化来更新图5所示的有效页的数目的计数器的值。在检索要经历压缩的逻辑块时,通过检索在位向量表中具有有效页的计数器的最小数目的条目,获得该逻辑块。可以通过一次读取与所有逻辑块有关的条目的有效页的数目的计数器的每个值来检索其中有效页的数目的计数器的值最小的条目。因此,在实施例的半导体存储器装置50中,通过参照位向量表,可以容易地检索具有小的有效页数目的逻辑块,并且可以高速且有效地进行压缩。
[修改]
本发明不限于以上给出的实施例,而是可以在不偏离本发明的精神的情况下被实施为具有各种修改的实现组件。此外,通过适当地组合在实施例中公开的多个组件,本发明可以被实施为各种形成。例如,可以省略在实施例中给出的一些组件。此外,可以适当地组合不同实施例中的一些组件。另外,可以进行下面作为实例描述的各种修改。
在上述实施例中,在半导体存储器装置50中执行的各种程序可被存储在连接到网络(例如因特网)的计算机上,并通过经由该网络下载而提供这些程序。各种程序可以以可被安装或执行的形式被记录在诸如CD-ROM、软盘(FD)、CD-R或数字多功能盘(DVD)的计算机可读的记录介质中,并被提供作为计算机程序产品。
在上述实施例中,可以通过硬件实现处理器51的部分功能。半导体存储器装置50可以具有多个处理器51,并且可以通过所述多个处理器51来实现上述功能。通过这样的配置,可以实现更高的处理速度。
在上述实施例中,正向查找表和位向量表被存储在DRAM 54中,但本发明不限于此。例如,这些表可以被存储在半导体存储器元件58中,并且当通过处理器51使用这些表时在DRAM 54中高速缓存这些表。
在上述实施例中,ECC码被附加到页单位的每个数据作为页ECC。然而,ECC码可被附加到小于页的单位(例如,512字节的扇区单位)。通过这样的配置,在数据中的错误不能以小于页的单位被校正的情况下,可以认为在该数据中出现异常,并通过使用由多个信道构成的错误校正码恢复该数据。
在上述实施例中,由多个信道构成错误校正码的单位被设定为字节,但本发明不限于此,可以使用比字节大或小的尺寸来作为单位。虽然使用奇偶校验码作为错误校正码,但本发明不局限于奇偶校验码。可以设定多个冗余信息段,并可以使用里德所罗门码。利用里德所罗门码,可以恢复其中由于在多个半导体存储器元件58中的故障而出现异常的数据。
在上述实施例中,数据被写入的信道的数目为四个,用于数据的冗余信息被写入的信道的数目为一个,构成错误校正码的信道的数目为五个,但本发明不限于此。此外,在上述实施例中,将构成错误校正码的冗余信息被写入的信道固定为信道CH5,但本发明不限于该信道。该信道可被分配到每个构成错误校正码的单元。
在上述实施例中,信道一对一地对应于半导体存储器元件58,但本发明不限于此。信道可以一对多地对应于半导体存储器元件58,即,多个半导体存储器元件58可被分配到一个信道。在该情况下,用于识别各半导体存储器元件58的识别号码被分配到半导体存储器元件58。为每个信道的每个块记录识别号码和物理块地址。例如,如果向每个信道分配八个半导体存储器元件,则将总共15个位被记录作为逻辑到物理转译表中的每个信道的每个块的识别号码和物理块地址,这15个位包括用于识别半导体存储器元件的3个位和用于识别包括在每个半导体存储器元件中的4096个块的12个位。
在上述实施例中,为了使逻辑到物理转译表的设置简单,希望地,逻辑到物理转译表中的条目的数目和每个信道中的块的数目。由于逻辑到物理转译表上的条目的数目和信道CH0中的物理块的数目彼此相等,因此逻辑到物理转译表可被构造为由信道CH0中的物理块的物理块号码确定记录逻辑块的条目的位置。例如,以升序将物理块号码赋予包括在该信道中的物理块。在该情况下,信道CH0中的物理块的物理块号码可被设定为用作逻辑到物理转译表的索引的逻辑块号码。或者,可以将逻辑到物理转译表中的条目记录在空闲列表(free list)结构中。
在上述实施例中,半导体存储器装置50将逻辑块地址附加到半导体存储器元件58中的写目标数据。然而,半导体存储器装置50还可包括物理到逻辑转译表(不同于逻辑到物理转译表),其表明被写入半导体存储器元件58中的数据的作为索引的物理块地址与数据的逻辑块地址之间的关联性,而不是附加逻辑块地址。然后,在压缩时,半导体存储器装置50可以使用从半导体存储器元件58读出的有效数据的物理块地址,参照物理到逻辑转译表以获得对应于物理块地址的逻辑块地址,并使用所获得的逻辑块地址更新作为压缩的结果的正向查找表。
在上述实施例中,当将信道分配给写目标数据时,在将数据分配到信道CH0到CH3中的至少一个之后不存在写目标数据的状态持续预定时间的情况下,将在信道CH1到CH4当中的未对其分配写目标数据的信道中的对应页中的虚数据(例如,其位全为“0”的数据)以及通过使用在信道CH1到CH4中的对应页中的数据计算的冗余信息写入信道CH5的对应页中。通过这样的配置,可以避免这样的可能性,即,没有为在信道CH1到CH4中的对应页中已写入数据的信道中的数据构成错误校正码,并且当在该数据中出现错误时,不能恢复该数据。
根据本发明,在抑制向半导体存储器芯片写入数据的次数的增加的同时,可以解决半导体存储器芯片中的故障,并可以改善可靠性。
虽然已经描述了特定的实施例,但这些实施例仅仅是以实例的方式给出的,并不旨在限制本发明的范围。实际上,可以以各种其他形式实施本文中描述的新颖实施例;此外,可以进行对本文中公开的实施例的形式上的各种省略、替代和改变而不偏离本发明的精神。所附权利要求及其等效物旨在覆盖落在本发明的范围和精神内的这种形式或修改。

Claims (12)

1.一种半导体存储器装置,其包括多个半导体存储器芯片,在所述半导体存储器芯片中写入由信息处理设备请求写入的数据,所述数据具有预定单位的多个第一数据的段,
所述装置包括:
设定单元,其被配置为设定指针,所述指针指向在所述多个半导体存储器芯片中的每一个中的已擦除的存储区域中将要进行写入的位置;
写控制器,其被配置为在所述多个半导体存储器芯片的由所述指针指向的位置中写入所述第一数据的每个段以及在与写入有所述第一数据的段的半导体存储器芯片不同的半导体存储器芯片的由所述指针指向的位置中写入冗余信息,所述冗余信息是通过使用所述第一数据的段而计算出的且被用于校正所述第一数据的段中的错误;以及
存储单元,其被配置为在其中存储识别信息和区域指定信息以使所述存储识别信息和所述区域指定信息彼此相关联,所述识别信息使所述第一数据的段与所述冗余信息相关联,并且所述区域指定信息指定所述半导体存储器芯片中的彼此相关联的所述第一数据的段和所述冗余信息被写入的多个存储区域,
其中当进行在所述半导体存储器芯片中的每一个中的存储区域中的写入时,所述设定单元将所述指针更新为指向在进行该写入的位置之后的新位置。
2.根据权利要求1的装置,其中所述写控制器将所述第一数据写入所述多个半导体存储器芯片中的每一个中的已擦除的存储区域中的未写入的位置中。
3.根据权利要求1的装置,还包括:
读控制器,其被配置为:
从所述半导体存储器芯片读出由信息处理设备请求读出的数据,
从所述半导体存储器芯片读出预定单位的所述第一数据,并且当在从所述半导体存储器芯片读出的所述第一数据中存在错误时,参照所述区域指定信息而读出与所述第一数据相关联的数据和所述冗余信息,以及
通过使用所述相关联的数据和所述冗余信息而恢复所述第一数据;以及
发送单元,其被配置为将恢复的所述第一数据发送到所述信息处理设备。
4.根据权利要求3的装置,其中所述写控制器将附加有用于检测所述第一数据中的错误的错误检测码的所述第一数据写入所述半导体存储器芯片中的半导体存储器芯片的存储区域中,并且
所述读控制器包括:
读取单元,其被配置为从所述半导体存储器芯片中的所述存储区域读取所述第一数据;
检测单元,其被配置为通过使用附加到所述第一数据的错误检测码来检测所述第一数据中的错误;以及
恢复单元,其被配置为当检测到所述第一数据中的错误时,通过参照被存储为与所述识别信息相关联的所述区域指定信息而恢复所述第一数据。
5.根据权利要求1的装置,其中所述写控制器包括:
分割单元,其被配置为当被请求写入的数据的尺寸大于预定单位时将该数据按所述预定单位分割成多段;
确定单元,其被配置为在所述多个半导体存储器芯片当中确定作为经分割的所述数据的段的所述第一数据的段被分别被写入的半导体存储器芯片;以及
写单元,其被配置为将所述第一数据的段写入由所述确定单元确定的所述半导体存储器芯片的存储区域中。
6.根据权利要求5的装置,其中所述确定单元确定所述第一数据的段以循环方式被写入的半导体存储器芯片。
7.根据权利要求1的装置,其中
所述装置接收写入具有在所述信息处理设备中使用的指定逻辑块地址的数据的请求,
所述存储单元在其中存储所述逻辑块地址、所述识别信息、以及所述区域指定信息以使它们彼此相关联,所述区域指定信息是指示出所述第一数据和所述冗余信息在所述半导体存储器芯片中被写入的位置的物理地址,并且
所述装置还包括第一更新单元,其被配置为当响应于写入新数据的请求而写入新的第一数据时,更新所述存储单元以存储所述逻辑块地址与所述新的第一数据的物理块地址之间的关联性,其中在该请求中再次指定与先前的数据请求中指定的逻辑块地址相同的逻辑块地址。
8.根据权利要求7的装置,其中
所述预定单位为页,
所述第一数据的段为在各自的页中的数据,
当进行对应于相同逻辑地址的新写入时,先前进行写入的页是无效的,
所述存储单元还在其中存储位向量,所述位向量指示出在所述存储区域中的哪些页不是无效页,并且
所述装置还包括第二更新单元,其被配置为当进行响应于所述逻辑地址的新写入时更新所述位向量。
9.根据权利要求8的装置,其中所述写控制器通过将所述存储区域中的由所述位向量指示为不是无效的页中写入的所述第一数据写入已擦除的不同的存储区域中而进行无用信息收集。
10.根据权利要求9的装置,其中
对于每个所述第一数据和所述冗余信息之间关联,所述位向量指示出彼此相关联的所述第一数据和所述冗余信息被写入的每个所述半导体存储器芯片中的每个所述存储区域中的哪些页是有效页,以及
所述写控制器以下列方式进行所述无用信息收集,通过根据每个关联的未被无效的页的数目而选择彼此相关联的所述第一数据和所述冗余信息并对于所述第一数据和所述冗余信息被写入的每个所述存储区域将在由所述位向量指示为有效的页中写入的所述第一数据和所述冗余信息写入已擦除的所述不同的存储区域。
11.根据权利要求10的装置,其中在完成了向包括未被无效的页的所述不同存储区域的写入之后,所述写控制器擦除所选择的所述第一数据和所述冗余信息被写入的所述存储区域中的每一个。
12.根据权利要求9的装置,其中
所述写控制器将附加有所述逻辑地址的所述第一数据写入所述半导体存储器芯片中的半导体存储器芯片的存储区域中,以及
当通过进行所述无用信息收集而将在未被无效的页中所写入的所述第一数据写入所述不同的存储区域中时,所述第一更新单元更新所述存储单元以存储被附加到所述第一数据的所述逻辑地址与新的物理地址之间的关联性,所述新的物理地址指示出所述第一数据在不同的存储区域中被写入的位置。
CN201110036760.4A 2010-02-12 2011-02-12 半导体存储器装置 Active CN102163458B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP029114/2010 2010-02-12
JP2010029114A JP5066199B2 (ja) 2010-02-12 2010-02-12 半導体記憶装置

Publications (2)

Publication Number Publication Date
CN102163458A CN102163458A (zh) 2011-08-24
CN102163458B true CN102163458B (zh) 2014-09-10

Family

ID=44226035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110036760.4A Active CN102163458B (zh) 2010-02-12 2011-02-12 半导体存储器装置

Country Status (6)

Country Link
US (4) US8448034B2 (zh)
EP (1) EP2360592B1 (zh)
JP (1) JP5066199B2 (zh)
KR (1) KR101265410B1 (zh)
CN (1) CN102163458B (zh)
TW (1) TWI428737B (zh)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5066199B2 (ja) * 2010-02-12 2012-11-07 株式会社東芝 半導体記憶装置
JP5017407B2 (ja) * 2010-03-24 2012-09-05 株式会社東芝 半導体記憶装置
JP2012155541A (ja) * 2011-01-26 2012-08-16 Toshiba Corp データ記憶装置、メモリ制御装置及びメモリ制御方法
JP5269932B2 (ja) 2011-03-01 2013-08-21 株式会社東芝 コントローラ、データ記憶装置およびプログラム
JP5319723B2 (ja) 2011-03-24 2013-10-16 株式会社東芝 メモリシステムおよびプログラム
US8640013B2 (en) 2011-09-22 2014-01-28 Kabushiki Kaisha Toshiba Storage device
JP5674634B2 (ja) 2011-12-28 2015-02-25 株式会社東芝 コントローラ、記憶装置およびプログラム
JP2013137713A (ja) * 2011-12-28 2013-07-11 Toshiba Corp メモリコントローラ、メモリシステムおよびメモリ書込み方法
GB2512786B (en) * 2012-01-31 2016-07-06 Hewlett Packard Development Co Lp Memory module buffer data storage
US20140068378A1 (en) * 2012-08-31 2014-03-06 Kabushiki Kaisha Toshiba Semiconductor storage device and memory controller
US9069698B2 (en) * 2012-09-06 2015-06-30 Advanced Micro Devices, Inc. Channel rotating error correction code
KR102049076B1 (ko) 2012-12-06 2020-01-09 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 동작 방법
JP6034183B2 (ja) * 2012-12-27 2016-11-30 株式会社東芝 半導体記憶装置
WO2014117328A1 (en) 2013-01-30 2014-08-07 Hewlett-Packard Development Company, L.P. Non-volatile memory write mechanism
US20140244897A1 (en) * 2013-02-26 2014-08-28 Seagate Technology Llc Metadata Update Management In a Multi-Tiered Memory
US20140250277A1 (en) * 2013-03-04 2014-09-04 Kabushiki Kaisha Toshiba Memory system
US20140281160A1 (en) * 2013-03-14 2014-09-18 Kabushiki Kaisha Toshiba Non-volatile semiconductor storage apparatus
US10642795B2 (en) * 2013-04-30 2020-05-05 Oracle International Corporation System and method for efficiently duplicating data in a storage system, eliminating the need to read the source data or write the target data
US20150046772A1 (en) * 2013-08-06 2015-02-12 Sandisk Technologies Inc. Method and device for error correcting code (ecc) error handling
JP6102632B2 (ja) * 2013-08-14 2017-03-29 ソニー株式会社 記憶制御装置、ホストコンピュータ、情報処理システムおよび記憶制御装置の制御方法
US9218282B2 (en) 2013-10-31 2015-12-22 Micron Technology, Inc. Memory system data management
US20150193301A1 (en) * 2014-01-06 2015-07-09 Kabushiki Kaisha Toshiba Memory controller and memory system
JP6378111B2 (ja) * 2014-12-29 2018-08-22 東芝メモリ株式会社 情報処理装置及びプログラム
US10482008B2 (en) 2015-01-23 2019-11-19 Hewlett Packard Enterprise Development Lp Aligned variable reclamation
JP6391172B2 (ja) * 2015-09-10 2018-09-19 東芝メモリ株式会社 メモリシステム
US10095423B2 (en) 2015-09-30 2018-10-09 Toshiba Memory Corporation Storage system that tracks mapping to a memory module to be detached therefrom
US10101925B2 (en) * 2015-12-23 2018-10-16 Toshiba Memory Corporation Data invalidation acceleration through approximation of valid data counts
WO2017126091A1 (ja) * 2016-01-21 2017-07-27 株式会社日立製作所 記憶装置及びその制御方法並びに記憶装置を備えたストレージシステム
KR102527992B1 (ko) 2016-03-14 2023-05-03 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US10120583B2 (en) * 2016-06-07 2018-11-06 Facebook, Inc. Performance penalty avoidance for solid state drive
US10169126B2 (en) * 2016-10-12 2019-01-01 Samsung Electronics Co., Ltd. Memory module, memory controller and systems responsive to memory chip read fail information and related methods of operation
JP2018163450A (ja) * 2017-03-24 2018-10-18 日本電気株式会社 データ記憶制御装置、データ記憶システム、データ記憶方法およびプログラム
KR102356307B1 (ko) * 2017-09-06 2022-01-26 에스케이텔레콤 주식회사 플래시 저장 장치에서의 선택적 소거 코딩을 이용한 데이터 손실 복원 방법 및 장치
JP2019057178A (ja) * 2017-09-21 2019-04-11 東芝メモリ株式会社 メモリシステムおよび制御方法
WO2019113729A1 (en) * 2017-12-11 2019-06-20 Micron Technology, Inc. Scheme to improve efficiency of garbage collection in cached flash translation layer
JP2019159791A (ja) * 2018-03-13 2019-09-19 東芝メモリ株式会社 メモリシステム
TWI686698B (zh) * 2018-05-24 2020-03-01 大陸商深圳大心電子科技有限公司 邏輯轉實體表更新方法及儲存控制器
CN109445681B (zh) * 2018-08-27 2021-05-11 华为技术有限公司 数据的存储方法、装置和存储系统
US11574659B2 (en) * 2018-09-11 2023-02-07 Micron Technology, Inc. Parallel access to volatile memory by a processing device for machine learning
KR102694952B1 (ko) * 2018-09-20 2024-08-14 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
CN109933374B (zh) * 2019-01-23 2021-10-22 西安微电子技术研究所 一种计算机启动方法
KR102657760B1 (ko) * 2019-09-23 2024-04-17 에스케이하이닉스 주식회사 메모리 시스템 및 그 메모리 시스템의 동작 방법
JP2022137811A (ja) * 2021-03-09 2022-09-22 キオクシア株式会社 情報処理システム、ストレージデバイスおよびホスト
US11630727B2 (en) * 2021-03-24 2023-04-18 Micron Technology, Inc. Generating die block mapping after detected failure

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689676A (en) * 1988-04-28 1997-11-18 Sony Corporation Sequential EEPROM writing apparatus which sequentially and repetitively replaces a head position pointer with a last position pointer
CN1517947A (zh) * 2003-01-28 2004-08-04 株式会社瑞萨科技 非易失性存储器
CN101281788A (zh) * 2007-04-06 2008-10-08 群联电子股份有限公司 闪存系统及其控制方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US367416A (en) * 1887-08-02 Bridle-bit attachment
US367475A (en) * 1887-08-02 Roof for suspended electric conductors
US367377A (en) * 1887-08-02 duffey
JP4025275B2 (ja) * 2003-09-24 2007-12-19 シャープ株式会社 メモリ装置およびメモリシステム
JP2008204041A (ja) * 2007-02-19 2008-09-04 Hitachi Ltd ストレージ装置及びデータ配置制御方法
JP4897524B2 (ja) * 2007-03-15 2012-03-14 株式会社日立製作所 ストレージシステム及びストレージシステムのライト性能低下防止方法
JP2008287404A (ja) * 2007-05-16 2008-11-27 Hitachi Ltd 読み出しによる非アクセスメモリセルのデータ破壊を検出及び回復する装置、及びその方法
US7873803B2 (en) * 2007-09-25 2011-01-18 Sandisk Corporation Nonvolatile memory with self recovery
JP2009211234A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
US8185778B2 (en) * 2008-04-15 2012-05-22 SMART Storage Systems, Inc. Flash management using separate metadata storage
JP5066199B2 (ja) * 2010-02-12 2012-11-07 株式会社東芝 半導体記憶装置
JP4901968B2 (ja) * 2010-03-01 2012-03-21 株式会社東芝 半導体記憶装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689676A (en) * 1988-04-28 1997-11-18 Sony Corporation Sequential EEPROM writing apparatus which sequentially and repetitively replaces a head position pointer with a last position pointer
CN1517947A (zh) * 2003-01-28 2004-08-04 株式会社瑞萨科技 非易失性存储器
CN101281788A (zh) * 2007-04-06 2008-10-08 群联电子股份有限公司 闪存系统及其控制方法

Also Published As

Publication number Publication date
US20140310575A1 (en) 2014-10-16
US8788900B2 (en) 2014-07-22
JP5066199B2 (ja) 2012-11-07
JP2011165063A (ja) 2011-08-25
US20140310576A1 (en) 2014-10-16
KR101265410B1 (ko) 2013-05-16
US9136020B2 (en) 2015-09-15
CN102163458A (zh) 2011-08-24
KR20110093732A (ko) 2011-08-18
US20110202812A1 (en) 2011-08-18
EP2360592B1 (en) 2012-09-05
US20130232391A1 (en) 2013-09-05
US8448034B2 (en) 2013-05-21
US9165685B2 (en) 2015-10-20
TW201145012A (en) 2011-12-16
TWI428737B (zh) 2014-03-01
EP2360592A1 (en) 2011-08-24

Similar Documents

Publication Publication Date Title
CN102163458B (zh) 半导体存储器装置
CN102194527B (zh) 半导体存储器装置
EP2732373B1 (en) Method and apparatus for flexible raid in ssd
US7856528B1 (en) Method and apparatus for protecting data using variable size page stripes in a FLASH-based storage system
US20140115232A1 (en) Metadata Journaling with Error Correction Redundancy
KR101507669B1 (ko) 리던던트 방식으로 복수의 메모리 장치들 내에 데이터 블록들을 저장하는 방법, 메모리 컨트롤러, 및 메모리 시스템
US20200125447A1 (en) Memory reallocation during raid rebuild
US11698734B2 (en) Collision reduction through just-in-time resource allocation
US11829270B2 (en) Semiconductor die failure recovery in a data storage device
WO2011019794A2 (en) Method and apparatus for addressing actual or predicted failures in a flash-based storage system
CN113590038B (zh) 固态硬盘的管理方法和固态硬盘

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170728

Address after: Tokyo, Japan

Patentee after: TOSHIBA MEMORY Corp.

Address before: Tokyo, Japan

Patentee before: Toshiba Corp.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Tokyo, Japan

Patentee after: Kaixia Co.,Ltd.

Address before: Tokyo, Japan

Patentee before: TOSHIBA MEMORY Corp.

Address after: Tokyo, Japan

Patentee after: TOSHIBA MEMORY Corp.

Address before: Tokyo, Japan

Patentee before: Japanese businessman Panjaya Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220127

Address after: Tokyo, Japan

Patentee after: Japanese businessman Panjaya Co.,Ltd.

Address before: Tokyo, Japan

Patentee before: TOSHIBA MEMORY Corp.