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

半导体存储器装置 Download PDF

Info

Publication number
CN102163179B
CN102163179B CN201110038959.0A CN201110038959A CN102163179B CN 102163179 B CN102163179 B CN 102163179B CN 201110038959 A CN201110038959 A CN 201110038959A CN 102163179 B CN102163179 B CN 102163179B
Authority
CN
China
Prior art keywords
data
write
semiconductor memory
block
page
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
CN201110038959.0A
Other languages
English (en)
Other versions
CN102163179A (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 CN102163179A publication Critical patent/CN102163179A/zh
Application granted granted Critical
Publication of CN102163179B publication Critical patent/CN102163179B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

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)
  • Memory System (AREA)

Abstract

本发明涉及半导体存储器装置。根据一个实施例,一种半导体存储器装置根据日志结构方法进行以下写入:响应于来自主机的写入具有特定的逻辑块地址的数据的请求而将数据写入半导体存储器元件,以及为了压缩而将有效数据写入所述半导体存储器元件。所述半导体存储器装置根据预定的比率调整响应于来自所述主机的请求的写入的频率和用于压缩的写入的频率。

Description

半导体存储器装置
相关申请的交叉引用
本申请基于并要求在2010年2月16日提交的日本专利申请2010-031797和2010年9月14日提交的日本专利申请2010-206116的优先权,通过引用将其全部内容并入到这里。
技术领域
本发明描述的实施例一般而言涉及半导体存储器装置。
背景技术
由于作为半导体存储器芯片的一种类型的NAND型闪速存储器(称为NAND存储器)的容量增加,近年来使用半导体存储器芯片的半导体存储器装置被广泛应用。在写入NAND存储器时,在写入之前需要擦除NAND存储器。以诸如单位为512KB的块进行对NAND存储器的擦除。这显著大于4KB,而4KB是在根据来自主机的请求进行写入时比较经常地使用的数据尺寸,主机是半导体存储器装置的主机装置。4KB的尺寸对应于例如页的尺寸,页是比块小的单位。如果每次在写入数据之前都进行擦除,对于以4KB页为单位的写入而言,进行以512KB块为单位的擦除。
同时,存在作为半导体存储器芯片的特性的为NAND存储器的擦除次数设定的上限,因此,从可靠性的观点,不希望超过该上限。在现有技术中,使用例如已被长期应用于文件系统和数据库的日志结构(log-structure)来控制擦除次数。在该技术中,不考虑主机指定的逻辑块地址(LBA),以页的顺序依次以4KB页为单位在已擦除的块中写入数据,存储指示出数据被写入的物理存储位置的物理地址(PA)与逻辑块地址的关联(association),并使用该地址关联而读取数据。这样的系统被称为日志结构方法。
可以进行用于将不同的数据写入到同一逻辑块地址的多个请求。这些不同的数据基本上被写入不同的页中。在其中写入旧数据(称为无效数据)的页变为无效,而在其中写入新数据(称为有效数据)的页变为有效。当无效数据的量增加时,可以实现写入的NAND存储器的容量(称为可实现的容量)逐渐减小。当在其中可以写入数据的新的已擦除的块(即,在其擦除后在其中尚未写入数据的块(称为空闲块))不再被保留时,写入变得不可能。为了避免这一点,半导体存储器装置收集在包含无效数据的块中的有效数据,将所收集的有效数据重新重写入空闲块中以将有效数据移动到该空闲块中,擦除作为仅包含无效数据的块的从其移出了有效数据的块,并进行垃圾收集(garbage collection)以重新产生空闲块。在使用日志结构方法的NAND存储器中进行的垃圾收集被特别地称为压缩。在半导体存储器装置中,通过进行压缩,不可写入的块再次变为可以写入,这允许保留空闲块。
在现有技术中,当空闲块耗尽时或在空闲块耗尽之前的即刻进行压缩。然而,当进行压缩时,由于有效数据的读取和写入,NAND存储器的带宽被挤压,这导致对来自主机的数据写入请求的响应速度的显著降低。
发明内容
本发明的目的是提供一种半导体存储器装置,其能够在日志结构方法中进行垃圾收集而不显著降低对来自主机的数据写入请求的响应速度。
根据一个实施例,一种半导体存储器装置包括:半导体存储器芯片,其具有多个存储区;第一写入控制单元,其被配置为从信息处理装置接收用于写入与逻辑块地址相关联的第一数据的请求,并进行在所述半导体存储器芯片的所述存储区当中的已擦除的存储区中的未写入位置中写入所述第一数据的第一写入;第一存储单元,其被配置为在其中存储关联信息,所述关联信息表示指示出所述第一数据被写入的位置的物理地址和与所述第一数据相关联的所述逻辑块地址之间的关联;第二写入控制单元,其被配置为接收用于写入与已经写入的第二数据关联于相同的逻辑块地址的第三数据的请求,并在所述半导体存储器芯片的所述存储区当中的数据已经被擦除的已擦除的存储区中的未写入位置中写入所述第三数据;第一更新单元,其被配置为当所述第二写入控制单元写入所述第三数据时将所述关联信息更新为指示出所述逻辑块地址和用于所述第三数据的物理地址之间的关联的关联信息;第三写入控制单元,其被配置为通过进行将第四数据写入被擦除的另一存储区中的第二写入而进行垃圾收集,所述第四数据不是无效的并在所述半导体存储器芯片的先前写入了所述第二数据的存储区中;以及频率调整单元,其被配置为根据预先设定的比率而调整响应于来自所述信息处理装置的请求的所述第一写入的频率和用于所述垃圾收集的所述第二写入的频率。
根据具有上述配置的半导体存储器装置,可以进行在日志结构方法中的垃圾收集而不显著降低对来自主机的数据写入请求的响应速度。
附图说明
图1为示例出根据实施例的半导体存储器装置50的硬件配置的图;
图2为示例出如何随时间写入写目标数据的图;
图3为用于描述压缩的概念图;
图4为示例出在半导体存储器装置50中实现的功能的图;
图5为示例出查找表的数据配置的图;
图6为示例出位向量表的数据配置的图;
图7为用于描述了更新频率调整值的实例的图;
图8为示例出写目标数据的图;
图9为示例出频率调整处理的过程的流程图;
图10为示例出频率调整值更新处理的过程的流程图;以及
图11为用于比较具有频率调整功能的情况与不具有频率调整功能的情况的图。
具体实施方式
下面将参考附图详细描述半导体存储器装置的示例性实施例。
首先,将使用图1描述根据实施例的半导体存储器装置的硬件配置。半导体存储器装置50包括处理器51、引导只读存储器(引导ROM)52、SATA/SAS接口55、存储器控制器53、动态随机存取存储器(DRAM)54、NAND控制器57A到57F、半导体存储器元件(NAND)58A到58F、以及连接这些部件的总线56。当没有必要区分NAND控制器57A到57F中的每一个时,NAND控制器57A到57F可以被简单地称为NAND控制器57。相似地,当没有必要区分半导体存储器元件58A到58F中的每一个时,半导体存储器元件58A到58F可以被简单地称为半导体存储器元件58。
在处理器51的控制下,SATA/SAS接口55控制与作为半导体存储器装置50的主机装置的主机的通信。引导ROM 52存储在电源开启时执行的程序。各种系统程序被存储在半导体存储器元件58中。在开启电源时,处理器51从导引ROM 52读取并执行程序,根据所执行的程序将存储在半导体存储器元件58中的各种系统程序传递到DRAM 54,并执行DRAM54上的系统程序以控制整个半导体存储器装置50并实现各种功能。具体地,处理器51解释通过SATA/SAS接口55从主机发送的命令,并根据这些命令来控制数据向半导体存储器元件58的写入和数据从半导体存储器元件58的读取。
存储器控制器53控制DRAM 54。DRAM 54存储各种数据和各种程序。在该实施例中,DRAM 54存储稍后描述的查找表和位向量表。NAND控制器57控制半导体存储器元件58并且各自包括错误校正电路。
半导体存储器元件58为半导体芯片,并且是例如在NAND闪速存储器中使用的存储器元件。不能随机地从这样的半导体存储器元件58读取数据和随机地向其写入数据,而是以称为页的单位读取和写入数据。多个页按称为块的单位构成存储区。这里,一个页等于4KB,并且64个页构成一个块。一个半导体存储器元件58由多个块构成。在该实施例中,半导体存储器元件58的数目为六个,如图1所示。为半导体存储器元件58A到58F中的每一个分配一个信道(channel)(CH0到CH5)。如稍后将描述的,半导体存储器装置50在将被写入的由主机要求的数据大于页尺寸时将数据分割为多个段(piece),并将分割为页的数据段(称为分割的数据段)分配并写入到各自的信道CH0到CH5。
这里,使用图2描述用于写入半导体存储器元件58的写入方法。NAND半导体存储器元件通常采用上述的日志结构方法。在日志结构方法中,在写入之前需要擦除块。块的擦除是将构成该块的所有位设定为“1”。半导体存储器装置50以块为单位进行这样的擦除,并以页为单位执行对已擦除的块的写入。因此,在NAND半导体存储器元件58中,可以依次将数据写入到已擦除的块中的未写入的页,而写入的页不能被附加其他的页。响应于来自主机的请求的数据写入由在主机中使用的逻辑块地址指示。另一方面,根据半导体存储器元件58的物理地址以页的升序进行对半导体存储器元件58的数据写入,而不考虑逻辑块地址。具体地,如图2所示,在特定信道上,在时刻t1将第一数据A写入在时刻t0保留的已擦除的块中的第一页(位于头部或末端)中,并且在时刻t2,将新分配到该信道的数据B写入在第二页中。相似地,在时刻t3,将数据C写入第三页中,并且在时刻4,将数据D写入第四页中。指示出数据由此被写入的存储位置的物理地址与逻辑块地址之间的关联被存储在稍后描述的查找表中。当通过再次指定在先前的数据请求中所指定的逻辑块地址而由主机请求写入新的数据时,半导体存储器装置50将该新数据写入已擦除的块的未写入的页。在该情况下,将先前对其执行了与该逻辑块地址对应的写入的页设定为无效,并将该新数据被写入的页设定为有效。
“无效”为其中逻辑地址不指示物理地址的位置(逻辑地址不与物理地址的位置相关联)的状态,而“有效”为其中逻辑地址指示物理地址的位置(逻辑地址与物理地址的位置相关联)的状态。
因此,当数据为无效时,逻辑地址不指示在其中存储数据的存储区的物理地址的位置。当数据为有效时,逻辑地址指示在其中存储数据的存储区的物理地址的位置。
当页为无效时,逻辑地址不指示对应于该页的存储区的物理地址的位置。当页为有效时,逻辑地址指示对应于该页的存储区的物理地址的位置。
在上述实例中,为了表达有效和无效,采用使用位向量的方法;然而,该方法并不局限于此。例如,可以采用这样的方法,在该方法中,选择块,然后依次选择每个页,并当存在指示该选择的页的逻辑地址时将页确定为是有效的。当不存在指示该选择的页的逻辑地址时将页确定为是无效的。为了确定是否存在这样的逻辑地址,可以采用这样的方法,在该方法中,访问查找表以依次检查是否存在指示该选择的页的逻辑地址。或者,可以采用使用其中物理地址与逻辑地址相关联的反向查找表的方法来检查是否存在指示该选择的页的逻辑地址。
在该日志结构方法中,进行压缩以在半导体存储器装置50中保留如上所述的空闲块,如图3所示例的。此外,如图3所示例的,如果作为移动数据的结果而在有效数据被写入的块中存在未写入的页,则可以向该页新写入数据。需要至少一个块以进行这样的压缩,这意味着NAND半导体存储器元件58中的实施的容量(称为实施容量(implemented capacity))小于写入可实际实现的容量。在实施例中,实施容量与可实现容量之间的差称为备用容量。当备用容量小时,半导体存储器装置50必须频繁地进行压缩,这对其性能具有极大影响。
接下来,将使用图4描述在半导体存储器装置50中实现的功能。半导体存储器装置50包括主机接口单元60、缓冲器控制单元61、地址转译单元62、CH分配单元63、压缩候补检测单元64、管理表更新单元65、NAND控制单元66A到66F、数据缓冲器67、压缩队列(queue)68、管理表69、主机队列70以及频率调整单元77。频率调整单元77包括主机写入/压缩写选择单元71、条件确定单元72、主机写入计数器73、压缩写入计数器74、频率寄存器75以及频率寄存器更新单元76。通过处理器51执行程序和SATA/SAS接口55的功能而实现主机接口60的功能。通过处理器51执行程序而实现地址转译单元62、CH分配单元63、管理表更新单元65、压缩候补检测单元64、缓冲器控制单元61、主机写入/压缩写选择单元71、条件确定单元72、主机写入计数器73、压缩写入计数器74以及频率寄存器更新单元76的功能。NAND控制单元66A到66F的功能分别对应于NAND控制器57A到57F的功能,并通过处理器51执行程序和通过分别与NAND控制单元66A到66F对应的NAND控制器57A到57F的功能而实现。NAND控制单元66A到66F一对一地对应于半导体存储器元件58A到58F,信道CH0到CH5被分别分配到半导体存储器元件58A到58F。然而,当不必区分NAND控制单元66A到66F中的每一个时,NAND控制单元66A到66F可以被简单地称为NAND控制单元66。数据缓冲器67、压缩队列68、管理表69、主机队列70以及频率寄存器75被存储在例如DRAM 54上。
主机接口单元60为控制主机与半导体存储器装置50之间的通信的接口。主机接口单元60接收从主机发送的命令。当该命令请求具有指定的逻辑块地址的数据的写入时,主机接口单元60在主机队列70中存储该命令(称为写入命令)。当请求写入的数据的尺寸为页尺寸或更小时,主机接口单元60将该数据发送到稍后将描述的缓冲器控制单元61。另一方面,当数据的尺寸大于页尺寸时,主机接口单元60将该数据分割为以页为单位的段,并将如此分割的数据(称为分割的数据段)发送到缓冲器控制单元61。这是因为,逻辑块地址与物理地址之间的转译是以页为单位进行的。例如,主机接口单元60将128KB的数据分割为三十二个4KB数据段。为了便于描述,将响应于写入命令而向缓冲器控制单元61发送的该数据或分割的数据段称为写目标数据。
管理表69包括查找表(LBA表)和位向量表。查找表是表明写目标数据的逻辑块地址与指示出半导体存储器元件58中的该写目标数据被写入的物理存储位置的物理地址之间的关联的表。查找表用于确定指示出半导体存储器元件58上的在其中存储了与由主机指定的逻辑块地址相关联的数据的位置的物理地址。图5为示例出查找表的数据配置的图。如图5所示例的,查找表的条目(entry)包括作为其索引的逻辑块地址、块的号码(称为块号码)、信道号码以及赋予该页的页号码。基于在来自主机的数据写入请求中指定的逻辑块地址,计算每个写目标数据的逻辑块地址。例如,从头部将块号码依次赋予每个块。信道号码在该实施例中为CH0到CH5,并指示出包括与该逻辑块地址相关联的数据被存储于其中的物理块的半导体存储器元件58被连接到哪个信道。页号码指示出与该逻辑块地址相关联的数据被存储在由块号码和信道号码识别的物理块的哪一页中。例如,可以按物理地址的顺序赋予页号码,或者可以将物理地址自身赋予为页号码。在每次将写目标数据写入半导体存储器元件58时,更新查找表。稍后将描述如何更新查找表。
接下来,将参考图6描述位向量表。位向量表是按页的顺序二值地(inbinary)表明每个信道上的每个块中的哪个页是有效数据被写入的页(称为有效页)的表。每个页的二值表示称为位向量。如果位向量的值为“1”,这意味着该页为有效页,而如果值为“0”,这意味着该页不是有效页(无效的)。在初始状态下,位向量的值全部被设定到“0”。在该实施例中,如果假设一个块包括64个页,每一个块关联64个位向量。如图6所示例的,对于每个块,位向量表包括作为其索引的上述块号码、与在被赋予了块号码的块中所包括的每个页相关联的位向量、以及计数器。计数器表示其值为“1”的位向量的总数目。由于其对应位向量具有值“1”的页为有效页,因此计数器表示块中的有效页的数目(下文中,称为有效页数目计数器)。在这样的配置中,在每次系统请求数据写入时更新位向量表。稍后将描述如何更新位向量表。
返回去参考图4进行描述。压缩候补检测单元64参照包括在管理表69中的位向量表,确定将作为进行压缩的候补的块,指定该块中的有效页的物理地址,并向地址转译单元62发送请求读取有效页的命令(称为压缩读取命令)。
数据缓冲器67是存储写目标数据的缓冲器。压缩队列68是存储用于压缩的请求写入有效数据的命令(称为压缩写入命令)的先入先出型缓冲器。主机队列70为存储来自主机的写入命令的先入先出型缓冲器。
频率调整单元77根据设定在稍后将描述的频率寄存器75中的频率调整值来调整响应于来自主机的写入命令的写入的频率和用于压缩的写入的频率。实现上述功能的具体功能如下。主机写入计数器73以页为单位计算响应于来自主机的写入命令而进行的写入操作的次数。压缩写入计数器74以页为单位计算响应于压缩写入命令而进行的写入操作的次数。
频率寄存器75是这样的寄存器,在其中设定了频率调整值以调整响应于来自主机的写入命令的写入的频率和用于压缩的写入的频率。例如,用于压缩的写入操作的次数相对于响应于来自主机的写入命令的写入操作的次数的比率被设定为频率寄存器75中的频率调整值。也就是,当进行了M次(M为正整数)响应于来自主机的写入命令的写入操作时,在频率寄存器75中将频率调整值(N/M)设定为进行N次(N为正整数)用于压缩的写入操作。
频率寄存器更新单元76更新频率寄存器75的频率调整值。具体而言,频率寄存器更新单元76根据空闲块的数目而更新频率调整值。图7为用于描述更新频率调整值的实例的图。当空闲块的数目减小到小于下阈值时,频率寄存器更新单元76将频率调整值设定为例如“3”,以使用于压缩的写入操作的进行次数是响应于来自主机的写入命令的写入操作的次数的三倍。当进行了许多次用于压缩的写入操作时,作为压缩的结果,空闲块的数目增加。当空闲块的数目在下阈值与上阈值之间时,频率寄存器更新单元76将频率调整值设定为“2”,以使用于压缩的写入操作的进行次数是响应于来自主机的写入命令的写入操作的次数的两倍。当由于压缩而使空闲块的数目超过上阈值时,频率寄存器更新单元76将频率调整值设定为“0”,以便仅仅进行响应于来自主机的写入命令的写入操作。应注意,上阈值是大于下阈值的值,并且阈值被预先设定并存储在DRAM 54中。当主机写入计数器73和压缩写入计算器74达到在频率寄存器75中设定的值时,重设主机写入计数器73和压缩写入计算器74。例如,当频率调整值为“3”时,主机写入计数器73被重设为“1”,并且压缩写入计数器74被重设为“3”。
条件确定单元72根据在频率寄存器75中设定的频率调整值、由主机写入计数器73计算的值和由压缩写入计数器74计算的值而确定是进行响应于来自主机的写入命令的写入还是进行用于压缩的写入,并将指示出确定了哪种写入的确定结果发送到主机写入/压缩写选择单元71。
主机写入/压缩写选择单元71从条件确定单元72接收确定结果。如果确定结果指示将进行响应于来自主机的写入命令的写入,则主机写入/压缩写选择单元71从主机队列70获取写入命令并将该命令发送到CH分配单元63。也就是,在该情况下,主机写入/压缩写选择单元71通过CH分配单元63而使NAND控制单元66进行响应于来自主机的写入命令的写入。另一方面,如果确定结果指示将进行用于压缩的写入,则主机写入/压缩写选择单元71从压缩队列68获取压缩写入命令并将该命令发送到CH分配单元63。也就是,在该情况下,主机写入/压缩写选择单元71通过CH分配单元63而使NAND控制单元66进行用于压缩的写入。
返回到图4进行描述。地址转译单元62接收来自压缩候补检测单元64的压缩读取命令,参照查找表,并将请求读取由压缩读取命令通过物理地址指示的有效页中的数据(有效数据)的命令发送到对应于该半导体存储器元件58的信道的NAND控制单元66。通过NAND控制单元66而从半导体存储器元件58读取有效数据,并通过缓冲器控制单元61而将该有效数据存储在数据缓冲器67中。地址转译单元62将请求写入该有效数据的命令(压缩写入命令)存储在压缩队列68中。
CH分配单元63从主机写入/压缩写选择单元71接收命令,并且当该命令为写入命令时,确定写目标数据将被写入的信道。例如,CH分配单元63按以4KB循环(round robin)的方式进行写入操作,并根据循环的次序确定数据被写入的信道。然后,CH分配单元63将请求写入该写目标数据的命令发送到与所确定的信道对应的NAND控制单元66。如果从主机写入/压缩写选择单元71接收到的命令为压缩写入命令,则CH分配单元63确定数据被写入的信道,并将请求写入有效数据的命令发送到与所确定的信道对应的NAND控制单元66。
NAND控制单元66接收来自CH分配单元63的命令,并根据该命令访问对应的半导体存储器元件58。具体而言,当该命令请求写入数据时,NAND控制单元66通过缓冲器控制单元61而检索(retrieve)写目标数据,并将该写目标数据写入到半导体存储器元件58。在写入时,NAND控制单元66设定记录指针以从对应的半导体存储器元件58的已擦除的块中的未写入的页当中逐页地依次指向写入位置,将该写目标数据写入到由记录指针指向的位置处的页,然后更新记录指针以指向另一页的位置。因此,记录指针的值改变以依次指向下一写入位置。例如,当在每一个信道中由15位的物理地址识别出块并且该块包括64个页时,记录指针具有总共15+6=21位。
这里,将描述写目标数据的数据配置。NAND控制单元66将用于检测和校正写目标数据自身的错误的错误校正代码(称为页ECC)和由写入命令指定的逻辑块地址附加到该写目标数据。页ECC包括诸如用于检测数据错误的CRC码以及用于校正数据错误的ECC码的代码。页ECC还包括CRC代码的原因在于,存在当数据错误被通过ECC代码校正为错误数据时的失误校正的可能。图8为示例出冗余部分被附加至其的写目标数据的图。在如上那个所述确定的每个信道的半导体存储器元件58中,NAND控制单元66将页ECC和逻辑块地址被附加至其的写目标数据写入到由记录指针指向的半导体存储器元件58的页。该写目标数据具有以页为单位的尺寸,并且半导体存储器元件58的页尺寸等于包括该写目标数据以及所附加的页ECC和逻辑块地址的整个数据的尺寸。基于由写入命令指定的逻辑块地址而由每个NAND控制单元66计算每个分割的数据段的逻辑块地址。
当从地址转译单元62接收到的命令请求读取具有指定的物理地址的有效页中的数据(有效数据)时,NAND控制单元66使用该物理地址来读取在与半导体存储器元件58中的该物理地址对应的页中写入的数据,并将所读出的数据存储在数据缓冲器67中。当从CH分配单元63接收到的命令请求写入有效数据时,NAND控制单元66通过缓冲器控制单元61而检索到写目标有效数据,并将该有效数据写入半导体存储器元件58。
缓冲器控制单元61管理作为多个区的数据缓冲器67,并管理在其中存储对应于命令的数据的区。具体而言,缓冲器控制单元61响应于写入命令将从主机接口单元60发送的写目标数据存储在数据缓冲器67中,并将该写目标数据发送到与由CH分配单元63确定为将被写入的信道对应的NAND控制单元66。通过NAND控制单元66而将该写目标数据写入半导体存储器元件58中。缓冲器控制单元61响应于压缩读取命令通过NAND控制单元66而将从半导体存储器元件58读出的数据存储到数据缓冲器67,将所存储的数据转移到NAND控制单元66并将该数据写入半导体存储器元件58中。
当从主机接收到请求写入具有指定的逻辑块地址的数据的命令(写入命令)时,管理表更新单元65参照查找表并更新位向量表,并进一步更新查找表。具体而言,管理表更新单元65首先参照查找表以查找与该逻辑块地址所关联的物理地址相关联的数据(即,与该逻辑块地址相关联的数据)被写入了哪个块的哪个页中。如果与该逻辑块地址关联的物理地址没有被存储在查找表中,则直到此时尚未进行与该逻辑块地址相关联的数据的写入。在该情况下,管理表更新单元65将与该逻辑块地址相关联的数据被写入的页的位向量的值设定为“1”。记录指针指向数据被写入的该页。管理表更新单元65还将与包括该页的块对应的有效页数目计数器的值增加1。
另一方面,如果当管理表更新单元65参照查找表时与该逻辑块地址相关联的物理地址被存储在查找表中,则在之前已经进行了与该逻辑块地址相关联的数据的写入。在该情况下,由于用于当前写入的写入命令,需要使之前写入的数据无效化。因此,管理表更新单元65将与这样的物理地址处的页对应的位向量的值设定为“0”,该物理地址被存储在用于由写入命令指定的逻辑块地址而参照的查找表的条目中。与包括该页的物理块相关联的逻辑块的有效页数目计数器的值被减小1。此外,管理表更新单元65将与该写目标数据将被写入的页对应的位相量的值设定为“1”,并将与包括该页的物理块相关联的逻辑块的有效页数目计数器的值增加1。通过在每次进行数据写入时更新位向量表和有效页数目计数器,位向量表和有效页数目计数器总是指示出有效页的位置及其数目。最后,管理表更新单元65在查找表中的与该逻辑块地址相关联的条目中记录该写目标数据被写入的页的物理地址。通过在每次进行数据写入时更新位向量表,位向量表总是指示出有效页及其数目。当进行压缩时,管理表更新单元65更新查找表中的有效数据被移入其中的页的物理地址。
接下来,将描述根据该实施例的半导体存储器装置50所进行的处理的过程。首先,将使用图9描述频率调整处理的过程。假设频率寄存器75的频率调整值被设定为“N/M”。半导体存储器装置50确定在主机队列70中是否存在写入命令(步骤S1)。如果不存在写入命令(步骤S1中的否),则处理返回到步骤S1。如果存在写入命令(步骤S1中的是),则半导体存储器装置50确定响应于来自主机的写入命令而进行写入,并从主机队列70获取一个写入命令。当写入命令所请求写入的数据的尺寸为页尺寸或更小时,半导体存储器装置50将该数据(写目标数据)存储在数据缓冲器67中。当写入命令所请求写入的数据的尺寸大于页尺寸时,半导体存储器装置50以页为单位分割该数据并将分割的数据段(分割的数据段:写目标数据)存储在数据缓冲器67中。
然后,半导体存储器装置50以页为单位进行写目标数据的一次写入操作(步骤S2)。具体而言,半导体存储器装置50基于由该写入命令指定的逻辑块地址而参照查找表,并且当在查找表中已经存储了与该写目标数据的逻辑块地址相关联的物理地址时,将该物理地址作为旧物理地址而存储在例如DRAM 54中。半导体存储器装置50还确定该写目标数据将被写入的信道,并将页ECC和逻辑块地址已被附加至其的该写目标数据写入所确定的信道的半导体存储器元件58中的由记录指针所指向的页。然后,半导体存储器装置50更新记录指针以指向在该写目标数据被写入的页之后的下一个未写入的页。半导体存储器装置50还在图5中所示例的查找表中记录该写目标数据的逻辑块地址与该写目标数据被写入的页的物理地址之间的关联。如果该写目标数据是分割的数据段,则半导体存储器装置50基于由该写入命令指定的逻辑块地址而计算分割的数据段的每个物理地址。由于分割的数据段以页为单位,因此半导体存储器装置50计算通过依次将页尺寸附加到所指定的逻辑块地址而获得的值作为分割的数据段的逻辑块地址。然后,半导体存储器装置50在查找表中记录所述逻辑块地址、该写目标数据被写入的各信道的块被赋予的块号码、以及在当前处理中该写目标数据被写入的信道的信道号码和页的页号码。半导体存储器装置50由此更新查找表。此外,半导体存储器装置50参照位向量表,将在步骤S2中在DRAM 54中存储的与旧物理地址的页对应的位向量的值设定为“0”,并使包括该页的块的有效页数目计数器的值减小1。旧物理地址指示出先前与由写入命令指定的逻辑块地址关联地写入了数据的页。因此,位向量的值被设定为“0”,并使在包括该页的块中的有效页的数目减小1,从而在该页中写入的数据将被无效化。此外,在位向量表中,半导体存储器装置50将与该写目标数据被写入的页对应的位向量的值设定为“1”,并使包括该页的块的有效页数目计数器的值增加1。半导体存储器装置50由此更新位向量表。
随后,半导体存储器装置50将主机写入计数器73的值增加1,并确定该值是否已经达到“M”(步骤S3)。如果该值不是“M”(步骤S3中的否),处理返回到步骤S1。当来自主机的写入命令所请求写入的数据被以页为单位分割并且如果仍剩余未被写入的分割的数据段时,处理返回到步骤S2,在该步骤S2中半导体存储器装置50对每个分割的数据段进行写入。也就是,半导体存储器装置50对单位为页的每个分割的数据段进行一次步骤S2的处理。
另一方面,如果主机写入计数器73的值为“M”(步骤S3中的是),半导体存储器装置50将主机写入计数器73的值初始化为“0”并确定进行用于压缩的写入,然后确定在压缩队列68中是否存在压缩写入命令(步骤S4)。如果不存在压缩写入命令(步骤S4中的否),处理返回到步骤S4。如果存在压缩写入命令(步骤S4中的是),半导体存储器装置50获取一个压缩写入命令并根据该压缩写入命令以页为单位进行有效数据的一次写入操作(步骤S5)。以与步骤S2相似的方式进行写入。附加到该有效数据的逻辑块地址被用作与该有效数据关联的逻辑块地址。
随后,半导体存储器装置50将压缩写入计数器74的值增加1,并确定该值是否已经达到“N”(步骤S6)。如果该值不是“N”(步骤S6中的否),处理返回到S4。如果该值是“N”(步骤S6中的是),则半导体存储器装置50将压缩写入计数器74的值初始化为“0”并确定是够存在用于压缩的候补块(步骤S7)。具体而言,半导体存储器装置50参照位向量表中的有效页数目计数器的值,并确定是否存在具有其该值等于或小于预定值的块(即,包括小于预定值的数目的有效页的块)。然后,如果不存在这样的块(步骤S7中的否),处理结束。另一方面,如果存在这样的块(步骤S7中的是),半导体存储器装置50将该块设定为用于压缩的候补,识别在该块中的位向量表中的位向量为“1”的页(有效页)中所存储的数据(有效数据),并将所有的有效数据读取到数据缓冲器67中。此外,半导体存储器装置50提取附加到该有效数据的逻辑块地址。然后,半导体存储器装置50在压缩队列68中存储请求写入所读出的有效数据的压缩写入命令,并且处理返回到步骤S1。
如上所述,根据预定的频率调整值来切换根据来自主机的请求的写入和用于压缩的写入。也就是,在该实施例中,直到通过压缩产生新的空闲块之前不用等待,而是调整响应于来自主机的请求的写入的频率和用于压缩的写入的频率,并且适宜地在二者之间切换写入操作。因此,由于在压缩结束后进行根据来自主机的请求的写入,可以避免增加延迟的可能性。
图11为这样的图,其示例出响应于来自主机的请求的写入的带宽分别在具有进行根据实施例的频率调整处理的功能(频率调整功能)的情况下和在没有频率调整功能的情况下的随时间的差异。如图11的上部所示例的,在没有频率调整功能的情况下,在用于压缩的写入期间要持续多个页写入有效数据。因此,响应于来自主机的请求的写入被长时间地中断。另一方面,在具有实施例的频率调整功能的情况下,写入操作被以下列方式交替切换,例如,在对一个页进行了响应于来自主机的请求的写入之后,对两个页进行用于压缩的写入,如图11的下部所示例的。因此,可以避免响应于来自主机的请求的写入被长时间中断的可能性。因此,根据该实施例,可以进行压缩而不显著降低对来自主机的数据写入请求的响应速度。
接下来,将使用图10描述用来改变用于压缩的写入的频率的频率调整值更新处理的过程。半导体存储器装置50确定空闲块的数目是否等于或小于上阈值(步骤S20)。如果空闲块的数目大于上阈值(步骤S20中的否),半导体存储器装置50将频率寄存器75的频率调整值设定为“0”,也就是,设定频率调整值,以便对于响应于来自主机的写入命令的一次写入操作,用于压缩的写入操作的次数为“0”,以不进行用于压缩的写入(步骤S21)。当空闲块的数目等于或小于上阈值时(步骤S20中的是),半导体存储器装置50确定空闲块的数目是否等于或大于下阈值(步骤S22)。如果空闲块的数目等于或大于下阈值(步骤S22中的是),半导体存储器装置50将频率寄存器75的频率调整值设定为“2”,也就是,设定频率调整值,以便对于响应于来自主机的写入命令的一次写入操作,进行两次用于压缩的写入操作(步骤S23)。如果空闲块的数目小于下阈值(步骤S22中的否),半导体存储器装置50将频率寄存器75的频率调整值设定为“3”,也就是,设定频率调整值,以便对于响应于来自主机的写入命令的一次写入操作,进行三次用于压缩的写入操作(步骤S24)。半导体存储器装置50如上所述根据空闲块的数目更新频率调整值。
如上所述,根据空闲块的数目动态地更新频率调整值。也就是,当空闲块的数目小于下阈值时,频率调整值被更新以进行更多的用于压缩的写入操作。由此,更频繁地进行压缩,结果,可以增加空闲块的数目。另一方面,如果空闲块的数目变为大于上阈值,频率调整值被更新以不进行用于压缩的写入操作。由此,没有浪费地进行压缩操作,从而可以高响应度地对来自主机的请求做出响应。通过根据已擦除的块的数目更新频率调整值以在日志结构方法中调整压缩的频率,可以防止对来自主机的数据写入请求的响应速度的极大降低。
[变形例]
本发明不限于以上给出的实施例,而是可以在不偏离本发明的精神的情况下被实施为具有各种修改的实现组件。此外,通过适当地组合在实施例中公开的多个组件,本发明可以被实施为各种形成。例如,可以省略在实施例中给出的一些组件。此外,可以适当地组合不同实施例中的一些组件。另外,可以进行下面作为实例描述的各种修改。
在上述实施例中,在半导体存储器装置50中执行的各种程序可被存储在连接到网络(例如因特网)的计算机上,并通过经由该网络下载而提供这些程序。各种程序可以以可被安装或执行的形式被记录在诸如CD-ROM、软盘(FD)、CD-R或数字多功能盘(DVD)的计算机可读的记录介质中,并被提供作为计算机程序产品。
在上述实施例中,查找表和位向量表被存储在DRAM 54中,但本发明并不局限于此。例如,查找表和位向量表可被存储在半导体存储器元件58中并在当处理器51使用这些表时在DRAM 54中高速缓存这些表。
在上述实施例中,ECC码被附加到页单位的每个数据作为页ECC。然而,ECC码可被附加到小于页的单位(例如,512字节的扇区单位)。
在上述实施例中,半导体存储器装置50以一次写入操作对应于页的单位的形式进行响应于来自主机的写入命令的写入和用于压缩的写入。然而,本发明不局限于此。例如,一次写入操作可以对应于两页的写入或对应于除页之外的单位的写入。
在上述实施例中,信道一对一地对应于半导体存储器元件58,但本发明不局限于此。信道可以一对多地对应于半导体存储器元件58,也就是,多个半导体存储器元件58可被分配到一个信道。在该情况下,用于识别各半导体存储器元件58的识别号码被分配到半导体存储器元件58。在查找表中为每个信道的每个块记录识别号码和块号码。例如,如果向每个信道分配八个半导体存储器元件,则将总共15个位记录作为查找表中的识别号码和块号码,这15个位包括用于识别半导体存储器元件的3个位和用于识别包括在每个半导体存储器元件中的4096个块的12个位。
在上述实施例中,半导体存储器装置50包括多个半导体存储器元件58,但本发明并不局限于此,半导体存储器装置50可以仅仅包括一个半导体存储器元件58。
在上述实施例中,在半导体存储器装置50中,逻辑块地址被附加到将写入半导体存储器元件58中的数据。然而,取代附加逻辑块地址,半导体存储器装置50还可以包括物理到逻辑转译表,该表表明在半导体存储器元件58中写入的数据的物理地址与该数据的逻辑块地址之间的关联。然后,半导体存储器装置50可以使用从半导体存储器元件58读出的有效数据的物理地址,参照查找表以获得与该物理地址关联的逻辑块地址,并作为使用所获得的逻辑块地址进行压缩的结果而更新查找表。
在上述实施例中,对频率调整值的设定和更新并不局限于以上给出的对频率调整值的设定和更新。此外,半导体存储器装置50可以被构建为不包括频率寄存器更新单元76,并可以将频率调整值设定为固定值而不更新频率调整值。
在上述实施例中,通过NAND控制单元66实现进行响应于来自主机的写入命令的写入的写入控制单元和进行用于压缩的写入的写入控制单元。然而,其还可以被构建为通过不同的写入控制器来进行各写入操作。
根据实施例,可以进行日志结构方法中的垃圾收集而不会显著地降低对来自主机的数据写入请求的响应速度。
虽然已经描述了特定的实施例,但这些实施例仅仅是以实例的方式给出的,并不旨在限制本发明的范围。实际上,可以以各种其他形式实施本文中描述的新颖实施例;此外,可以进行对本文中描述的实施例的形式上的各种省略、替代和改变而不偏离本发明的精神。所附权利要求及其等效物旨在覆盖落在本发明的范围和精神内的这种形式或修改。

Claims (12)

1.一种半导体存储器装置,包括:
半导体存储器芯片,其具有多个存储区;
第一写入控制单元,其被配置为从信息处理装置接收用于写入与逻辑块地址相关联的第一数据的请求,并进行在所述半导体存储器芯片的所述存储区当中的已从其中擦除了数据的已擦除的存储区中的未写入位置中写入所述第一数据的第一写入;
第一存储单元,其被配置为在其中存储关联信息,所述关联信息表示指示出所述第一数据被写入的位置的物理地址和与所述第一数据相关联的所述逻辑块地址之间的关联;
第二写入控制单元,其被配置为接收用于写入与第二数据关联于相同的逻辑块地址的第三数据的请求,并在所述半导体存储器芯片的所述存储区当中的已擦除的存储区中的未写入位置中写入所述第三数据,所述第二数据为通过所述第一写入已经被写入的所述第一数据;
第一更新单元,其被配置为当所述第二写入控制单元写入所述第三数据时将所述关联信息更新为指示出所述逻辑块地址和用于所述第三数据的物理地址之间的关联的关联信息;
第三写入控制单元,其被配置为通过进行将第四数据写入被擦除的另一存储区中的第二写入而进行垃圾收集,所述第四数据不是无效的且在所述半导体存储器芯片的先前写入了所述第二数据的存储区中;以及
频率调整单元,其被配置为更新频率调整值以调整响应于来自所述信息处理装置的请求的所述第一写入的频率和用于所述垃圾收集的所述第二写入的频率,使得所述第二写入的频率随着被擦除的其他存储区的数目的减少而增加,其中
所述频率调整单元包括:
寄存器,在其中设定所述频率调整值,所述频率调整值指示出当进行M次(M为正整数)所述第一写入的操作时,进行N次(N为正整数)所述第二写入的操作;
第一计数器,其被配置为对所述第一写入的操作的次数进行计数;
第二计数器,其被配置为对所述第二写入的操作的次数进行计数;以及
确定单元,其被配置为,当所述第一计数器的计数值达到M时确定进行所述第二写入并初始化所述第一计数器的所述计数值;以及当所述第二计数器的计数值达到N时初始化所述第二计数器的所述计数值,其中
当已擦除的存储区的数目超过上阈值时,所述频率调整单元将在所述寄存器中设定的所述频率调整值更新为0,以便不进行所述第二写入,当所述已擦除的存储区的数目介于下阈值与所述上阈值之间时,所述频率调整单元将在所述寄存器中设定的所述频率调整值更新为大于0的第一值,所述下阈值具有小于所述上阈值的值,并且,当所述已擦除的存储区的数目小于所述下阈值时,所述频率调整单元将在所述寄存器中设定的所述频率调整值更新为大于所述第一值的第二值。
2.根据权利要求1所述的半导体存储器装置,还包括:
第二存储单元,其被配置为在其中存储无效信息,所述无效信息指示出在所述物理地址中写入的数据是否为无效的;以及
改变单元,其被配置为当所述第二写入控制单元写入所述第三数据时将所述无效信息改变为指示出所述第二数据为无效的信息。
3.根据权利要求2所述的半导体存储器装置,还包括:
第二更新单元,其被配置为根据未写入存储区的数目而更新所述频率调整值的设定,对于所述未写入存储区,在其中写入的所有数据的所述无效信息被改变为指示出所述数据为无效的信息。
4.根据权利要求1所述的半导体存储器装置,还包括:
设定单元,其被配置为设定指针,所述指针指向在所述半导体存储器芯片中的所述已擦除的存储区中的将要进行写入的位置,
其中,当进行了在所述半导体存储器芯片中的存储区中的写入时,所述设定单元将所述指针更新为指向在进行了所述写入的位置之后的新位置。
5.根据权利要求1所述的半导体存储器装置,其中
所述第一写入控制单元包括:
分割单元,其被配置为当被请求写入的所述第一数据的尺寸大于预定单位时,将所述第一数据按所述预定单位分割为段;以及
写入单元,其被配置为将由此分割的所述第一数据的所述段写入所述半导体存储器芯片的各存储区。
6.根据权利要求5所述的半导体存储器装置,其中
所述频率调整单元根据所述频率调整值而调整所述预定单位的所述第一写入的频率和用于所述垃圾收集的所述第二写入的频率。
7.根据权利要求5所述的半导体存储器装置,还包括:
第二存储单元,其被配置为在其中存储无效信息,所述无效信息指示出在所述物理地址中写入的数据是否为无效的;以及
改变单元,其被配置为当所述第二写入控制单元写入所述第三数据时将所述无效信息改变为指示出所述第二数据为无效的信息,其中
所述预定单位为页,
由此分割的所述第一数据的所述段为各页中的数据,
所述第二存储单元在其中存储指示出所述存储区中的哪页不是无效的所述无效信息,并且
所述改变单元将所述无效信息改变为指示出所述第二数据被写入的页为无效的信息。
8.根据权利要求7所述的半导体存储器装置,其中
所述第三写入控制单元通过在被擦除的另一存储区中写入所述第四数据而进行垃圾收集,所述第四数据被写入所述存储区中的这样的页中,该页被所述无效信息指示为不是无效的。
9.根据权利要求6所述的半导体存储器装置,其中
在另一存储区中完成不是无效的页的写入之后,所述第三写入控制单元擦除所述存储区。
10.根据权利要求8所述的半导体存储器装置,其中
在另一存储区中完成不是无效的页的写入之后,所述第三写入控制单元擦除所述存储区。
11.根据权利要求6所述的半导体存储器装置,其中
所述第一写入控制单元将所述第一数据的所述段写入所述半导体存储器芯片的所述存储区中,所述第一数据的所述段是按所述预定单位分割的,并且所述逻辑块地址被附加到所述第一数据的所述段,并且
当由于所述垃圾收集而将在不是无效的页中写入的所述第四数据写入另一存储区时,所述第一更新单元将被附加到所述第四数据的所述逻辑块地址的所述关联信息更新为这样的关联信息,该关联信息指示出被附加到所述第四数据的所述逻辑块地址与新逻辑块地址之间的关联,所述新逻辑块地址指示出在所述另一存储区中的所述第四数据被写入的位置。
12.根据权利要求8所述的半导体存储器装置,其中
所述第一写入控制单元将所述第一数据的所述段写入所述半导体存储器芯片的所述存储区中,所述第一数据的所述段是按所述预定单位分割的,并且所述逻辑块地址被附加到所述第一数据的所述段,并且
当由于所述垃圾收集而将在不是无效的页中写入的所述第四数据写入另一存储区时,所述第一更新单元将被附加到所述第四数据的所述逻辑块地址的所述关联信息更新为这样的关联信息,该关联信息指示出被附加到所述第四数据的所述逻辑块地址与新逻辑块地址之间的关联,所述新逻辑块地址指示出在所述另一存储区中的所述第四数据被写入的位置。
CN201110038959.0A 2010-02-16 2011-02-16 半导体存储器装置 Active CN102163179B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010031797 2010-02-16
JP031797/2010 2010-02-16
JP2010206116A JP2011192260A (ja) 2010-02-16 2010-09-14 半導体記憶装置
JP206116/2010 2010-09-14

Publications (2)

Publication Number Publication Date
CN102163179A CN102163179A (zh) 2011-08-24
CN102163179B true CN102163179B (zh) 2015-05-06

Family

ID=43983367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110038959.0A Active CN102163179B (zh) 2010-02-16 2011-02-16 半导体存储器装置

Country Status (6)

Country Link
US (1) US8392476B2 (zh)
EP (1) EP2360595A1 (zh)
JP (1) JP2011192260A (zh)
KR (1) KR101277371B1 (zh)
CN (1) CN102163179B (zh)
TW (1) TWI515562B (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10558705B2 (en) * 2010-10-20 2020-02-11 Microsoft Technology Licensing, Llc Low RAM space, high-throughput persistent key-value store using secondary memory
US8930614B2 (en) 2011-07-29 2015-01-06 Kabushiki Kaisha Toshiba Data storage apparatus and method for compaction processing
US9069657B2 (en) 2011-12-12 2015-06-30 Apple Inc. LBA bitmap usage
JP5674634B2 (ja) 2011-12-28 2015-02-25 株式会社東芝 コントローラ、記憶装置およびプログラム
JP5687639B2 (ja) 2012-02-08 2015-03-18 株式会社東芝 コントローラ、データ記憶装置及びプログラム
JP2013174972A (ja) * 2012-02-23 2013-09-05 Toshiba Corp メモリシステム、コントローラ、メモリシステムの制御方法
JP5687648B2 (ja) * 2012-03-15 2015-03-18 株式会社東芝 半導体記憶装置およびプログラム
US20140032820A1 (en) * 2012-07-25 2014-01-30 Akinori Harasawa Data storage apparatus, memory control method and electronic device with data storage apparatus
US20140059271A1 (en) * 2012-08-27 2014-02-27 Apple Inc. Fast execution of flush commands using adaptive compaction ratio
JP2014171211A (ja) 2013-02-06 2014-09-18 Ricoh Co Ltd 情報処理システム
US20140250277A1 (en) * 2013-03-04 2014-09-04 Kabushiki Kaisha Toshiba Memory system
CN104102456B (zh) * 2013-04-15 2017-08-25 旺宏电子股份有限公司 存储器装置机器操作方法
JP2015001908A (ja) * 2013-06-17 2015-01-05 富士通株式会社 情報処理装置、制御回路、制御プログラム、および制御方法
WO2014203316A1 (ja) * 2013-06-17 2014-12-24 富士通株式会社 情報処理装置、制御回路、制御プログラム、及び制御方法
JP2015001909A (ja) * 2013-06-17 2015-01-05 富士通株式会社 情報処理装置、制御回路、制御プログラム、および制御方法
JP5967307B2 (ja) * 2013-06-17 2016-08-10 富士通株式会社 情報処理装置、制御回路、制御プログラム、及び制御方法
US9304906B2 (en) 2013-09-10 2016-04-05 Kabushiki Kaisha Toshiba Memory system, controller and control method of memory
US20150261444A1 (en) * 2014-03-12 2015-09-17 Kabushiki Kaisha Toshiba Memory system and information processing device
KR102285462B1 (ko) * 2014-03-26 2021-08-05 삼성전자주식회사 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 메모리 시스템의 동작 방법
US9652382B1 (en) * 2014-09-04 2017-05-16 Sk Hynix Memory Solutions Inc. Look-ahead garbage collection for NAND flash based storage
US20160188233A1 (en) * 2014-12-26 2016-06-30 Mediatek Inc. Method for interrupting cleaning procedure of flash memory
US9891825B2 (en) * 2015-01-23 2018-02-13 Toshiba Memory Corporation Memory system of increasing and decreasing first user capacity that is smaller than a second physical capacity
US10210168B2 (en) 2015-02-23 2019-02-19 International Business Machines Corporation Managing data in storage according to a log structure
TWI554884B (zh) * 2015-07-21 2016-10-21 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
CN106445397B (zh) * 2015-07-28 2019-07-09 群联电子股份有限公司 存储器管理方法、存储器控制电路单元及存储器存储装置
CN106897022B (zh) 2015-12-17 2019-05-31 腾讯科技(深圳)有限公司 一种管理存储设备的方法及装置
KR102532581B1 (ko) * 2016-03-17 2023-05-17 에스케이하이닉스 주식회사 메모리 장치를 포함하는 메모리 시스템 및 그의 동작 방법
JP6926866B2 (ja) * 2017-01-20 2021-08-25 富士通株式会社 ストレージ制御装置、およびストレージ制御プログラム
JP6697410B2 (ja) * 2017-03-21 2020-05-20 キオクシア株式会社 メモリシステムおよび制御方法
US10593409B2 (en) * 2017-10-12 2020-03-17 Distech Controls Inc. Memory device comprising flash memory and method for controlling a write speed of a bus transmitting data for storage on the flash memory
KR102447602B1 (ko) 2017-10-25 2022-09-26 삼성전자주식회사 메모리 장치 및 그 동적 가비지 컬렉션 방법
KR20190107504A (ko) * 2018-03-12 2019-09-20 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US10552316B2 (en) * 2018-06-29 2020-02-04 Micron Technology, Inc. Controlling NAND operation latency
CN111858577B (zh) * 2019-04-29 2024-05-17 伊姆西Ip控股有限责任公司 存储管理的方法、设备和计算机程序产品
JP7467064B2 (ja) * 2019-10-17 2024-04-15 キオクシア株式会社 メモリシステムおよびガベッジコレクション制御方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1648879A (zh) * 2004-01-28 2005-08-03 三星电子株式会社 自适应垃圾收集方法及设备
JP2006126975A (ja) * 2004-10-26 2006-05-18 Toshiba Corp 情報端末装置とそのプログラム
JP2007193883A (ja) * 2006-01-18 2007-08-02 Sony Corp データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法
CN101178689A (zh) * 2007-12-06 2008-05-14 浙江科技学院 一种NAND Flash存储器的动态管理方法
CN101233498A (zh) * 2005-08-03 2008-07-30 桑迪士克股份有限公司 快闪存储器中利用直接数据文件存储的数据操作

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3967121B2 (ja) 2001-12-11 2007-08-29 株式会社ルネサステクノロジ ファイルシステム、ファイルシステム制御方法およびファイルシステムを制御するためのプログラム
US20060095460A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation Systems and methods for efficiently clustering objects based on access patterns
US7406597B2 (en) * 2004-10-29 2008-07-29 International Business Machines Corporation Methods for efficiently authenticating multiple objects based on access patterns
KR101089150B1 (ko) 2005-08-03 2011-12-02 쌘디스크 코포레이션 스케쥴링된 리클레임 작동들을 갖는 비휘발성 메모리
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
US20070180186A1 (en) * 2006-01-27 2007-08-02 Cornwell Michael J Non-volatile memory management
KR100818797B1 (ko) * 2006-10-19 2008-04-01 삼성전자주식회사 메모리 용량 조절 방법과 메모리 용량 조절 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1648879A (zh) * 2004-01-28 2005-08-03 三星电子株式会社 自适应垃圾收集方法及设备
JP2006126975A (ja) * 2004-10-26 2006-05-18 Toshiba Corp 情報端末装置とそのプログラム
CN101233498A (zh) * 2005-08-03 2008-07-30 桑迪士克股份有限公司 快闪存储器中利用直接数据文件存储的数据操作
JP2007193883A (ja) * 2006-01-18 2007-08-02 Sony Corp データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法
CN101178689A (zh) * 2007-12-06 2008-05-14 浙江科技学院 一种NAND Flash存储器的动态管理方法

Also Published As

Publication number Publication date
KR20110095193A (ko) 2011-08-24
US20110202578A1 (en) 2011-08-18
EP2360595A1 (en) 2011-08-24
CN102163179A (zh) 2011-08-24
KR101277371B1 (ko) 2013-06-20
JP2011192260A (ja) 2011-09-29
TWI515562B (zh) 2016-01-01
TW201142591A (en) 2011-12-01
US8392476B2 (en) 2013-03-05

Similar Documents

Publication Publication Date Title
CN102163179B (zh) 半导体存储器装置
US10983907B1 (en) Nonvolatile memory controller that supports host selected data movement based upon metadata generated by the nonvolatile memory controller
US10956082B1 (en) Techniques for directed data migration
US8612721B2 (en) Semiconductor memory controlling device
US9852061B2 (en) Memory device and operating method of memory device
US10203876B2 (en) Storage medium apparatus, method, and program for storing non-contiguous regions
WO2017219364A1 (zh) 处理数据的方法、存储装置、固态硬盘和存储系统
US20130073798A1 (en) Flash memory device and data management method
KR102663661B1 (ko) 메모리 시스템 내 저장된 데이터를 제어하는 방법 및 장치
CN102292711A (zh) 固态存储器格式化
KR20060130084A (ko) 호스트 이용 특징 기반의 플래시 메모리 어드레스 매핑의적응형 모드 스위칭
US10621085B2 (en) Storage system and system garbage collection method
US11513949B2 (en) Storage device, and control method and recording medium thereof
CN104461387A (zh) 一种提高固态硬盘对未映射区域的读性能的方法
US20160259723A1 (en) Semiconductor device and operating method thereof
CN113490922B (zh) 固态硬盘写放大优化方法
CN116795735B (zh) 固态硬盘空间分配方法、装置、介质及系统
CN106874223B (zh) 数据传输方法、存储器存储装置及存储器控制电路单元
CN107688435B (zh) Io流调节方法与装置
CN113504880A (zh) 存储器缓冲区管理方法、存储器控制电路单元与存储装置
CN111338975A (zh) 面向多流的垃圾回收方法及其存储设备
CN116974481A (zh) 一种空闲物理块水位线的调整方法和存储设备
KR20230040057A (ko) 시스템의 읽기 성능을 개선하기 위한 장치 및 방법
CN113050879A (zh) 管理存储器系统中编程操作时间和写入延迟的设备和方法
CN112148645A (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

Effective date of registration: 20170728

Address after: Tokyo, Japan

Patentee after: TOSHIBA MEMORY Corp.

Address before: Tokyo, Japan

Patentee before: Toshiba Corp.

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

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20220126

Address after: Tokyo, Japan

Patentee after: Japanese businessman Panjaya Co.,Ltd.

Address before: Tokyo, Japan

Patentee before: TOSHIBA MEMORY Corp.

TR01 Transfer of patent right