CN101097543B - 具备非易失性半导体存储器的存储器系统 - Google Patents

具备非易失性半导体存储器的存储器系统 Download PDF

Info

Publication number
CN101097543B
CN101097543B CN2007101269602A CN200710126960A CN101097543B CN 101097543 B CN101097543 B CN 101097543B CN 2007101269602 A CN2007101269602 A CN 2007101269602A CN 200710126960 A CN200710126960 A CN 200710126960A CN 101097543 B CN101097543 B CN 101097543B
Authority
CN
China
Prior art keywords
mentioned
data
write
page
row address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2007101269602A
Other languages
English (en)
Other versions
CN101097543A (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.)
Toshiba 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 CN101097543A publication Critical patent/CN101097543A/zh
Application granted granted Critical
Publication of CN101097543B publication Critical patent/CN101097543B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/08Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk

Abstract

一种存储器系统,包括:非易失性半导体存储器(11)和控制器(12)。非易失性半导体存储器(11)具备各自包括能够保持数据的存储单元(MC)的多个存储块(BLK0~BLKn)。各个存储块(BLK0~BLKn)内的数据被一并地擦除。在每一个存储块(BLK0~BLKn)内,数据以作为多个存储单元(MC)的集合的页为单位一并地写入。控制器(12)对非易失性存储器(11)传送写入数据和第1行地址,并且发布所传送的上述第1行地址的变更指令和与该第1行地址不同的第2行地址。非易失性半导体存储器(11)在没有发布变更指令时,将写入数据写入与第1行地址对应的页;在发布了变更指令时,将写入数据写入与第2行地址对应的页。

Description

具备非易失性半导体存储器的存储器系统
相关申请的交叉引用
本申请基于并要求2006年6月30日申请的在先日本专利申请No.2006-182631的优先权,在此引入其全部内容作为参考。
技术领域
本发明涉及存储器系统和卡控制器。例如,涉及具备非易失性半导体存储器和控制其动作的卡控制器的存储器系统。
背景技术
在NAND型闪速存储器中,数据被一并地写入多个存储单元内。该一并写入的单位称为页。随着近年来NAND型闪速存储器的大容量化,页大小正在变大。
但是,来自主机设备的访问单位并不是必须限定为页单位。例如,在写入动作的情况下,存在写入数据的终端位置不在页边界的情况。因此,从主机设备以连续的地址进行再写入访问的可能性高。这是因为主机设备不能一次将大的数据发送到闪速存储器,而是分割成多次来写入数据等。
这时,在现有的NAND型闪速存储器中,除非进行对于同一个列位置进行2次写入的重写,一般地,允许向同一页进行写入。因此,在这样的情况下不产生问题。
但是,在近年来,随着存储单元的微小化或多值化,对同一页进行多次写入在可靠性方面成为问题,禁止这样的动作的NAND型闪速存储器也增多了。
预测上述的主机设备的访问,在NAND型闪速存储器的控制系统中,当连续的写入访问在不是页的终端位置的地方结束时,进行将该页的数据写入其它存储块。所谓存储块是存储单元的集合,成为数据的擦除单位。这时,当从主机设备没有预先通知写入结束地址时或者当来自主机设备的数据传送由于某些原因中断时,已知有将页大小量的数据存储在缓冲器内的技术。这样的技术例如在特开2006-092169号公报等中公开。在本方法的情况下,当数据大小最终未满足页大小时,将该数据写入其它存储块内。
但是,如果是本方法,则存在着在数据大小确定之前不能进行数据的写入、最终造成时间的浪费的问题。
发明内容
本发明提供能够提高数据的写入速度的存储器系统以及卡控制器。
根据本发明的一个方面的存储器系统,包括:
非易失性半导体存储器,其具备各自包括能够保持数据的存储单元的多个存储块,各个存储块内的数据被一并地擦除,在每一个上述存储块内,上述数据以作为多个上述存储单元的集合的页为单位被一并地写入;以及
控制器,其对上述非易失性存储器传送写入数据和第1行地址,并且发布所传送的上述第1行地址的变更指令和与该第1行地址不同的第2行地址;
其中,上述非易失性半导体存储器,在没有发布上述变更指令时,将上述写入数据写入与上述第1行地址对应的上述存储单元,在发布了上述变更指令时,将上述写入数据写入与上述第2行地址对应的上述存储单元。
根据本发明的一个方面的控制非易失性半导体存储器的卡控制器,包括:
主机接口,其能够连接到主机设备,并从上述主机设备接收写入数据和第1行地址;以及
运算处理装置,其对具备各自包括能够保持数据的存储单元的多个存储块的上述非易失性半导体存储器传送上述写入数据,并且发布上述第1行地址的变更指令和与该第1行地址不同的第2行地址;
其中,上述存储块内的数据被一并地擦除,在每一个上述存储块内,上述写入数据以作为多个上述存储单元的集合的页为单位一并地写入;
上述运算处理装置,根据上述变更指令,对上述非易失性半导体存储器指示将上述写入数据写入与上述第2行地址对应的上述页。
附图说明
图1是根据本发明的第1实施方式的存储器系统的方框图;
图2是示出根据本发明的第1实施方式的对存储卡中的信号引脚的信号分配的图;
图3是根据本发明的第1实施方式的存储卡所具备的卡控制器的方框图;
图4是根据本发明的第1实施方式的闪速存储器的方框图;
图5是示出根据本发明的第1实施方式的闪速存储器的数据写入方法的流程图,是示出卡控制器中的处理的图;
图6是根据本发明的第1实施方式的闪速存储器的卡控制器输出的信号的时序图;
图7是示出根据本发明的第1实施方式的闪速存储器的数据写入方法的流程图,是示出NAND型闪速存储器中的处理的图;
图8、图9是根据本发明的第1实施方式的存储器系统的方框图,是示出数据写入时的情形的图;
图10是示出根据本发明的第2实施方式的闪速存储器的数据写入方法的流程图;
图11至图14是根据本发明的第2实施方式的存储器系统的方框图,是示出数据汇集时的情形的图;
图15是示出根据本发明的第3实施方式的闪速存储器的数据汇集方法的流程图,是示出卡控制器中的处理的图;
图16是示出根据本发明的第3实施方式的闪速存储器的数据写入方法的流程图,是示出NAND型闪速存储器中的处理的图;
图17至图19是根据本发明的第3实施方式的存储器系统的方框图,是示出数据汇集时的情形的图;
图20是示出根据本发明的第2、第3实施方式的存储器系统所具备的NAND型闪速存储器的存储空间的概念图;
图21是闪速存储器的方框图;
图22是闪速存储器的方框图,是示出数据汇集的情形的图;
图23是根据本发明的第2、第3实施方式的变形例的闪速存储器的方框图,是示出数据汇集的情形的图。
具体实施方式
[第1实施方式]
使用图1对根据本发明的第1实施方式的存储器系统进行说明。图1是根据本实施方式的存储器系统的方框图。
如图所示,存储器系统具备存储卡1和主机设备2。主机设备2具备用于对经由总线接口14连接的存储卡1进行访问的硬件和软件。存储卡1在连接到主机设备2时接受电源供给并动作,进行与来自主机设备2的访问对应的处理。
存储卡1经由总线接口14和主机设备2进行信息的交换。存储卡1具备NAND型闪速存储器芯片(简称为NAND闪速存储器或者闪速存储器)11、控制闪速存储器芯片11的卡控制器12和多个信号引脚(第1引脚至第9引脚)13。
多个信号引脚13与卡控制器12电连接。对多个信号引脚13中的第1引脚至第9引脚的信号的分配例如如图2所示。图2是示出第1引脚至第9引脚以及分配给它们的信号的表。
数据0至数据3被分别分配给第7引脚、第8引脚、第9引脚和第1引脚。此外,第1引脚也被分配给卡检测信号。进一步地,第2引脚被分配给指令,第3引脚和第6引脚被分配给接地电位Vss,第4引脚被分配给电源电位Vdd,第5引脚被分配给时钟信号。
此外,存储卡1被形成为对在主机设备2中设置的插槽能够插拔。在主机设备2中设置的主机控制器(未图示)经由这些第1引脚至第9引脚与存储卡1内的卡控制器12进行各种信号和数据的通信。例如,当将数据写入存储卡1时,主机控制器经由第2引脚将写入指令作为串行信号发送到卡控制器12。这时,卡控制器12响应于向第5引脚供给的时钟信号,取入向第2引脚提供的写入指令。
在这里,如上所述,写入指令仅仅利用第2引脚串行地输入到卡控制器12。已分配给指令的输入的第2引脚,如图2所示,配置在数据3用的第1引脚和接地电位VSS用的第3引脚之间。多个信号引脚13和与其相对的总线接口14用于在主机设备2内的主机控制器和存储卡1进行通信。
与之相对地,闪速存储器11与卡控制器12之间的通信通过NAND型闪速存储器用的接口进行。因此,在这里,虽然没有图示,但是,闪速存储器11和卡控制器12例如通过8位的输入输出(I/O)线连接。
例如,当卡控制器12向闪速存储器11写入数据时,卡控制器12经由这些I/O线向闪速存储器11依次输入数据输入指令80H、列地址、页地址、数据和程序指令10H。在这里,指令80H的“H”表示16进制数,实际上,将8位信号“10000000”并行地提供给8位I/O线。即,在该NAND型闪速存储器用的接口中,并行地提供多位的指令。
此外,在NAND型闪速存储器用的接口中,对闪速存储器11的指令和数据共用相同的I/O线进行通信。这样,主机设备2内的主机控制器和存储卡1进行通信的接口与闪速存储器11和卡控制器12进行通信的接口不同。
下面使用图3对图1所示的存储卡1所具备的卡控制器的内部构成进行说明。图3是卡控制器12的方框图。
卡控制器12管理闪速存储器11内部的物理状态(例如,在哪一个物理块地址中包含第几号的逻辑扇区地址数据,或者哪一块是擦除状态)。卡控制器12具有:主机接口模块21、MPU(微处理单元)22、闪速控制器23、ROM(只读存储器)24、RAM(随机存取存储器)25和缓冲器26。
主机接口模块21进行卡控制器12与主机设备2之间的接口处理。
MPU 22控制存储卡1整体的动作。MPU 22,例如在存储卡1接受电源供给时,通过将在ROM 24中存储的固件(控制程序)读出到RAM 25上并执行规定的处理,在RAM 25上制成各种表。此外,MPU 22从主机设备2接收写入指令、读出指令、擦除指令,并对闪速存储器11进行规定的处理,或者控制通过缓冲器26的数据传送处理。
ROM 24存储由MPU 22控制的控制程序等。RAM 25被用作MPU 22的工作区域,并存储控制程序或各种表。闪速控制器23进行卡控制器12和闪速存储器11之间的接口处理。
缓冲器26在向闪速存储器11写入从主机设备2发送的数据时,暂时存储恒定量的数据(例如,一页量),或者在向主机设备2发送从闪速存储器11读出的数据时,暂时存储恒定量的数据。
接着,对NAND型闪速存储器11的内部构成简单地进行说明。图4是NAND型闪速存储器11的方框图。如图所示,NAND型闪速存储器11具备存储单元阵列30和页缓冲器31。
存储单元阵列30包含多个存储单元块BLK0~BLKn(n是大于等于2的自然数)。另外,以下将存储单元块BLK0~BLKn单纯地称为存储块BLK。此外,数据的擦除以存储块BLK为单位进行。即,同一存储单元块BLK内的数据被一并地擦除。存储单元块BLK的每一个都具备多个存储单元MC。各个存储单元是具备包含电荷积聚层(例如,浮置栅极)和控制栅极的叠层栅极的MOS晶体管。此外,在存储单元块BLK内设置有多个字线WL0、WL1、...(以下称为字线WL)和与字线WL正交的位线BL0、BL1、...(以下称为位线BL)。因此,处于同一行的存储单元MC被共通地连接到同一个字线。此外,处于同一列的存储单元MC以多个存储单元为单位共通地连接到位线BL。另外,数据的写入和读出按多个存储单元的集合的每一个进行,将该存储单元的集合称为1页。另外,在读出时和写入时,根据行地址选择任意一个字线WL,根据列地址选择任意一个位线BL。如果是图4的例子,则闪速存储器11的各个页都具有2112字节(512字节量的数据存储部×4+10字节量的冗长部×4+24字节量的管理数据存储部),各个存储块BLK包括例如128页。
页缓冲器31进行向闪速存储器11的数据输入输出,并暂时地保持数据。页缓冲器31能够保持的数据大小与各个存储块BLK的页大小相同,是2112字节(2048字节+64字节)。当数据写入等时,页缓冲器31以与自身的存储容量相当的1页量为单位执行对闪速存储器11的数据输入输出处理。另外,以下为了使说明简化,对于冗长部和管理数据存储部省略说明,对1页的数据大小是2048字节进行说明。
下面对上述构成的存储器系统的数据的写入方法进行说明。首先,使用图5对卡控制器12作为主体进行的处理进行说明。图5是示出卡控制器12中的处理的流程图。
如图所示,首先,卡控制器12从主机设备2接收数据的写入指令和在NAND型闪速存储器11中应当写入数据的地址(步骤S10)。接着,卡控制器12从主机设备2接收写入数据(步骤S11)。然后,卡控制器12对于闪速存储器11输出第1写入指令、写入数据和地址。闪速存储器11通过接收第1写入指令,知道写入动作开始。但是,实际上,将数据写入存储单元MC是在提供后述的第2写入指令的时刻。
其次,卡控制器12的MCU 22判定从主机设备2是否有写入访问的结束或者中断指令(步骤S13)。当没有时(步骤S13,否),MCU 22向闪速存储器11输出第2写入指令(步骤S14)。在步骤S14中,闪速存储器等待从卡控制器12传送后续的数据、第2写入指令或者复位指令。
在步骤S13中,当提供了结束指令或中断指令时(步骤S13,是),MCU 22判定向闪速存储器11传送的写入数据是否满足闪速存储器11的页大小(步骤S15)。即,判定写入数据的数据大小是等于还是小于2048字节。在满足了时,即在数据大小是2048字节时(步骤S16,是),MCU22向闪速存储器11输出第2写入指令(步骤S17)。在没有满足时,即在数据大小小于2048字节时(步骤S16,否),MCU 22发布行地址变更指令和新的行地址,并向闪速存储器11输出(步骤S18)。然后,进行步骤S17的处理。
在以上的处理中,使用图6对从卡控制器12向闪速存储器11提供的信号进行说明。图6是卡控制器12向闪速存储器11输出的信号的时序图,上方是在没有结束或者中断指令时(步骤S13,否)或者写入数据满足了页大小时(步骤S16,是)输出的信号。而下方所示的信号是写入数据未满足页大小时(步骤S16,否)输出的信号。
如图所示,在任何一种情况下,首先,在时刻t0输出第1写入指令,然后,地址(行地址和列地址)以及写入数据分别在时刻t1、t2依次输出。然后,在没有结束或者中断指令时,或者在写入数据满足了页大小时,在时刻t4输出第2写入指令,一系列的信号流结束。另一方面,在写入数据未满足页大小时,由于数据量比满足了页大小时的情况少,因此,在比时刻t4早的时刻t3,数据的传送结束。然后,紧接着写入数据,在时刻t3输出行地址变更指令,在时刻t5输出新的行地址。然后,在时刻t6输出第2写入指令。在后者的情况下,成为有效的行地址是在时刻t5输出的新的行地址,而不是在时刻t1输出的行地址。因此,新的行地址是相当于与相当于最初的行地址的存储块BLK不同的存储块BLK的地址。
下面使用图7对NAND型闪速存储器11作为主体进行的处理进行说明。图7是示出闪速存储器11中的处理的流程图。如图所示,首先,闪速存储器11从卡控制器12接收第1写入指令、写入数据和地址(步骤S20)。然后,判定是否接收到行地址变更指令和新的行地址(步骤S21)。在未接收到行地址变更指令和新的行地址时(步骤S22,否),在从卡控制器12接收到第2写入指令后(步骤S23),向由在步骤S20中所接收的行地址和列地址指定的存储单元MC写入数据(步骤S24)。当在步骤S22中接收到行地址变更指令时(步骤S22,是),在接收到第2写入指令后(步骤S25),向由在步骤S20中所接收的列地址和在行地址变更指令后接收的新的行地址指定的存储单元MC写入数据(步骤S26)。
使用图8和图9说明上述的写入动作的情况。图8和图9是存储器系统的方框图,图8示出了没有结束或者中断指令的情况(步骤S13,否)或者写入数据满足了页大小的情况(步骤S16,是),图9示出了写入数据未满足页大小的情况(步骤S16,否)。另外,在图8和图9中,示出了1页的数据大小是2048字节并且卡控制器12向闪速存储器11传送512字节单位的数据的情况,在图中用斜线示出的区域表示写入数据。
首先,对图8进行说明。如图所示,从主机设备2提供的写入数据被存储在卡控制器12的缓冲器26中。此外,向卡控制器12提供地址。这样的话,卡控制器12向页缓冲器31传送缓冲器26内的写入数据。在图8中,示出了各自具有512字节的数据大小的4个数据,即,2048字节的写入数据被传送到页缓冲器31的情形。此外,卡控制器12在上述步骤S12中向闪速存储器11内的行译码器32传送行地址。行译码器32根据在步骤S12中所提供的行地址,选择任意一个字线WL。在图8中,选择存储块BLK0内的字线WL。然后,响应于第2写入指令,将页缓冲器31内的写入数据写入与由行译码器32选择的字线WL连接的存储单元MC。
接着,对图9进行说明。在图9中,示出了应当将各自具有512字节的数据大小的4个数据,即2048字节的写入数据依次写入存储块BLK0的2个页,接着对于连续的地址,将各自具有512字节的数据大小的3个数据,即1563字节的写入数据写入存储块BLK0,并传送到页缓冲器31的情况。在这里,仅仅对与图8的情况不同的点进行说明。在步骤S12中,假定向闪速存储器11提供的行地址相当于存储块BLK0的字线WL。卡控制器12的MCU 22在判定为缓冲器26(即页缓冲器31)内的数据小于页大小(1536字节<2048字节)之后,向闪速存储器11输出行地址变更指令,进而发布新的行地址并向行译码器32输出。该新的行地址假定为相当于存储块BLK1内的字线WL。这样的话,行译码器32根据新的行地址,选择存储块BLK1内而不是存储块BLK0内的字线WL。然后,响应于第2写入指令,将页缓冲器31内的1536字节的写入数据写入与由行译码器32选择的字线WL连接的存储单元MC。
如果是上述构成的存储器系统,则可以得到下述的效果。
(1)能够提高数据的写入速度
如果是根据本实施方式的存储器系统,则当页缓冲器31内的数据小于页大小时,将数据写入与迄今为止写入了数据的存储块BLK不同的存储块BLK内。即,在页缓冲器内的数据达到页大小之前没有必要等待写入动作。因此,能够提高写入速度。即,如果与避免为了变更写入行地址而发布复位指令并再次输入数据以进行写入,而采用在等待在控制器的缓冲器中积存页大小量的数据之后写入这样的方法的情况相比,如果是使用行地址变更的本方式,则由于无需预先将页大小量的数据存储在控制器的缓冲器内,就可以立即向NAND型闪速存储器传送数据,因此,可以提高写入速度。
此外,如果是根据本实施方式的存储器系统,则卡控制器12发布行地址变更指令和新的行地址。然后,闪速存储器11在提供了行地址变更指令时,根据新的行地址选择存储单元阵列30的行方向。因此,可以将传送到页缓冲器31的数据高速地写入不同的存储块BLK。
这一点,当卡控制器12没有行地址变更指令时,如果想要将页缓冲器31内的数据写入不同的存储块BLK,则必须从卡控制器向页缓冲器再次传送数据。具体地,在变更行地址时,首先,为了取消写入指令,卡控制器输出复位指令。其次,发布第1写入指令,并指定新的行地址。然后,卡控制器向页缓冲器再输入数据。最后,发布第2写入指令。这样,需要向页缓冲器进行再次的传送,这成为时间的浪费。如果是本实施方式,则由于不需要数据的再传送,因此,可以提高数据的写入速度。
[第2实施方式]
下面对根据本发明的第2实施方式的存储器系统进行说明。本实施方式涉及在根据上述第1实施方式的构成中汇集具有小于1页的数据大小的多个数据以构成1页(以下称之为数据的汇集)的方法。图10是根据本实施方式的存储器系统中的数据的汇集方法的流程图。另外,根据本实施方式的NAND型闪速存储器11在利用第1实施方式说明的图8和图9所示的构成中,还具备数据缓存器。数据缓存器与缓冲器相同,都是暂时地保持以页为单位的数据。
如图所示,首先,卡控制器12的MCU 22向闪速存储器11输出读出指令(步骤S30)。该读出指令不是通常的仅仅是读出数据的意思的指令,也可以是作为数据的汇集指令的一部分的读出指令。与读出指令一起从卡控制器12向闪速存储器11提供地址。其次,闪速存储器11选择与在步骤S30中提供的地址对应的页,并以页为单位向数据缓冲器读出数据(步骤S31)。然后,向页缓冲器读出的数据被传送到数据缓存器(步骤S32)。接着,向数据缓存器传送的数据向卡控制器12的缓冲器26传送(步骤S33)。
图11示出了上述步骤S30至S33的情形。图11是卡控制器12和闪速存储器11的方框图。如图所示,在存储块BLK0,保持具有2页量的数据大小,即4096字节的数据大小的数据D1;在存储块BLK1,保持具有小于页大小的数据大小,例如1536字节的数据大小的数据D2;在存储块BLKn,保持具有小于页大小的数据大小,例如512字节的数据大小的数据D3。在这样的构成中,以汇集1536字节的数据D2和512字节的数据D3作为具有2048字节,即1页的大小的数据写入存储块BLK0的情况为例进行说明。
如图所示,当从卡控制器12提供读出指令时,行译码器32选择例如存储块BLK1的任意一个字线WL。其结果,将包含数据D2的页的数据以页为单位读出到页缓冲器31。以下,将以页为单位读出的数据称为页数据。在该时刻读出的页数据,除了1536字节的数据D2之外,还包括(2048-1536)=512字节的不需要的数据。接着,在读出到数据缓冲器的页数据之中的数据D2被传送到数据缓存器33,进而传送到缓冲器26。
返回到图10继续进行说明。在步骤S33之后,卡控制器12的MCU 22对于被传送到缓冲器26的数据D2进行错误检测,在检测到错误时进行错误修正。进一步地,闪速存储器11在卡控制器12进行错误检测和错误修正期间,以页为单位向页缓冲器31读出与步骤S31不同的数据(步骤S34)。
图12示出了上述步骤S34的情形。如图所示,行译码器32选择例如存储块BLKn的任意一个字线WL。其结果,将包含512字节的数据D3的页的数据以页为单位读出到页缓冲器31。另外,与在步骤S34中选择的字线WL对应的行地址,既可以在步骤S30中提供,也可以在卡控制器12进行错误检测和错误修正之前的任意一个时刻提供。这时,为了与数据D2汇集以成为1页量的数据大小,卡控制器12判断读出哪一个数据(在这里是数据D3)是合适的。即,由于卡控制器12将存储哪一个区域的什么数据作为表保持,因此,参照该表选择合适的数据。此外,在图12的例子中,虽然从与存储块BLK0不同的存储块BLKn中读出数据,但是,也可以从同一个存储块BLK0内的其它页读出数据。
返回到图10继续进行说明。在步骤S34之后,闪速存储器仅仅将在步骤S34中读出到页缓冲器31的数据之中必要的数据传送到数据缓存器33(步骤S35)。这时,在数据缓存器33中保持有在步骤S32中传送的小于页大小的数据。即,在数据缓存器33中有空闲区域。换句话说,在步骤S32中,由于以页为单位读出数据,因此,除了必要的数据之外,还将与该数据位于同一页的不需要的数据也保持在数据缓存器33内。同样,在步骤S34中也由于以页为单位读出数据,因此,不需要的数据也一起读出到数据缓冲器。于是,在步骤S35中,仅仅将在步骤S34中读出的以页为单位的数据之中必要的数据传送到在数据缓存器33中保持有不需要的数据的区域。其结果,在数据缓存器33中保持在步骤S32中读出的小于页大小的数据和在步骤S34中读出的小于页大小的数据,将两者合并恰好成为与1页相同的数据大小(步骤S36)。即,将2个数据汇集为页大小。然后,在步骤S35中传送到数据缓存器33的数据被传送到存储器控制器12的缓冲器26(步骤S37)。然后,MCU 22进行错误检测和错误修正(步骤S38)。
图13示出了上述步骤S35至S38的情形。如图所示,仅仅将在包含被读出到数据缓冲器31的数据D3的页数据之中必要的数据D3传送到数据缓存器33。即,在数据缓存器33中由于保持有1536字节的数据D3,因此,具有剩余的512字节量的空闲区域。因此,将512字节的数据D3传送到该空闲区域。其结果,在数据缓存器33中保持数据D2和数据D3,将数据D2和数据D3合在一起的数据大小恰好变为1页的数据大小2048字节。然后,数据缓存器33内的数据D3被传送到缓冲器26。
再次返回到图10继续进行说明。在步骤S38之后,当MCU 22在任意一个数据中检测错误并对所检测的错误进行修正时(步骤S39,是),将修正完毕的数据向数据缓存器33传送(步骤S40)。这时,MCU 22仅仅将修正完毕的数据传送到数据缓存器33,并与修正前的数据进行置换。然后,闪速存储器11以页为单位向存储单元MC写入在数据缓存器33中保持的数据(步骤S41)。
图14示出了上述步骤S39至S41的情形。如图所示,当存在数据修正时,数据缓存器33内的数据被置换成修正后的数据。然后,将数据缓存器33内的数据(汇集了数据D2和数据D3的2048字节的数据)向数据缓冲器33传送,进而,写入存储单元阵列30。即,行译码器32在存储块BLK0中,选择对应于与数据D1连续的地址的字线WL。这样,可以将数据D2、D3写入存储块BLK0的同一页。另外,用于行译码器32选择字线WL的行地址,可以在步骤S41中从卡控制器12提供给行译码器32,也可以在步骤S30或步骤S40中提供。
如果是上述的存储器系统,则可以得到下述(2)的效果。
(2)能够简便地进行小于页大小的数据的汇集,并且高速化。
在根据本实施方式的存储器系统中,在页缓冲器31和数据缓存器33之间以小于页单位的单位进行数据的交换。因此,能够简便地进行数据的汇集,使数据的汇集速度高速化。
页缓冲器和数据缓存器之间的数据的交换,一般以页大小为单位进行。但是,如果是该方法,则将小于页大小的数据汇集为1页的处理必须在卡控制器12的缓冲器26进行。此外,例如当汇集以2次读出动作读出的2个数据时,数据缓存器保持后读出的数据,而先读出的数据不能保持。因此,不管所读出的数据中有无错误,汇集后的数据都必须从卡控制器12的缓冲器26传送到数据缓存器33。该传送在汇集处理中成为时间的浪费。
但是,如果是本实施方式,则在页缓冲器31与数据缓存器33之间以小于页单位的单位进行数据的交换。即,能够在数据缓存器33上将多个数据汇集为1页。因此,当在数据中存在错误时,虽然必须将修正完毕的数据从缓冲器26向数据缓存器33传送,但是,当没有错误时传送是不需要的。因此,能够简便地进行数据的汇集处理,并使之高速化。
[第3实施方式]
下面对根据本发明的第3实施方式的存储器系统进行说明。本实施方式将根据上述第2实施方式的方法应用于数据的写入时。即,涉及当在数据写入时写入数据是小于页大小的数据大小时通过进行数据的汇集而将应当写入的数据变为页大小的方法。首先,使用图15对卡控制器12作为主体进行的处理进行说明。图15是示出卡控制器12中的处理的流程图。
如图所示,由于步骤S10至S17的处理与上述第1实施方式相同,因此省略说明。当步骤S15的判定结果是写入数据的数据大小小于页大小时(步骤S16,否),卡控制器12的MCU 22向闪速存储器11输出写入取消指令(步骤S50)。所谓写入取消指令,是对闪速存储器11中止以后的写入动作的指令。接着,MCU 22向闪速存储器11输出数据的读出指令(步骤S51)。与读出指令一起,应当读出的数据的地址也从MCU 22提供给闪速存储器11。应当在步骤S51中读出的数据是通过与在步骤S15、S16中被判定为未满足页大小的写入数据进行汇集而恰好成为1页大小的数据。
然后,当在步骤S11中读出数据后,MCU 22对该读出数据进行错误检测和错误修正(步骤S52)。然后,仅仅将进行了错误修正的数据向闪速存储器11传送,进而对闪速存储器11指示进行数据缓存器33内的数据的写入(步骤S53)。
下面使用图16对NAND型闪速存储器11作为主体进行的处理进行说明。在本实施方式中,对在上述步骤S50中输出写入取消指令时的动作进行说明。其它动作与第1实施方式1相同。图16是示出闪速存储器11中的处理的流程图。
如图所示,首先,闪速存储器11从卡控制器12接收写入取消指令(步骤S60)。当接收写入取消指令时,闪速存储器11中止数据的写入,并按原状保持数据缓存器33内的数据(步骤S61)。然后,根据从卡控制器12在步骤S51中提供的读出指令,以页为单位向页缓冲器31读出数据(步骤S62)。然后,仅仅将读出到页缓冲器31的数据之中必要的数据传送到数据缓存器33(步骤S35)。其结果,在数据缓存器33中保持小于页大小的写入数据和在步骤S62中读出的小于页大小的数据,将两者合并恰好成为与1页相同的数据大小(步骤S36)。即,将2个数据汇集为页大小。然后,将在步骤S35中传送到数据缓存器33的数据传送到存储器控制器12的缓冲器26(步骤S37)。步骤S35至S37的处理与在第2实施方式中说明的相同。
然后,当对于数据存在错误修正时,在从MCU 22接收到修正后的数据(步骤S63)之后,将数据缓存器33内的数据写入与最初的行地址对应的页(步骤S41)。
使用图17至图19说明上述写入动作的情形。图17是存储器系统的方框图,图18和图19是存储卡的方框图。另外,在图17至图19中,示出了1页的数据大小是2048字节并且卡控制器12向闪速存储器11传送512字节单位的数据的情况,在图中用斜线表示的区域表示写入数据。如图17所示,在将小于页大小的数据大小,例如512字节的数据大小的数据D4写入存储块BLKn的状况下,假定具有2页量的数据大小(2048×2=4096字节)的数据D5和小于页大小的数据大小,例如1536字节的数据D6被依次写入存储块BLK0的情况。然后,考虑数据D5已被写入存储块BLK0并且D6被写入与数据D5连续的地址的情况。
首先,如图17所示,由于数据D6小于页大小,因此,MCU 22向闪速存储器11输出写入取消指令。这样的话,闪速存储器11的行译码器32使字线WL成为非选择,并中止将向数据缓存器33传送完毕的数据D6向存储块BLK0写入的动作。
其次,如图18所示,MCU 22对于闪速存储器11,从存储块BLKn输出数据D4的读出指令和地址。响应于此,闪速存储器11从存储块BLKn以页为单位向数据缓冲器31读出包括数据D4的页的数据。此外,仅仅将读出到数据缓冲器31的页数据之中512字节的数据大小的数据D4传送到数据缓存器33。这时,由于在数据缓存器33中保持有1536字节的数据D6,因此,存在剩余的512字节量的空闲区域。因此,向该空闲区域传送512字节的数据D4。其结果,在数据缓存器33中汇集数据D6和数据D4,并合并成为恰好1页的数据大小。进一步地,数据缓存器33内的数据D4被传送到卡控制器12的缓冲器26,并进行错误检测和错误修正。
然后,如图19所示,当进行了错误修正时,修正完毕的数据被写入数据缓存器33,在数据缓存器33内保持的数据D6和数据D4被写入存储块BLK0的同一页内。写入数据D4和数据D6的页是与最初应当写入数据D6并与数据D5连续的地址对应的区域。
如果是上述构成的存储器系统,则除了在第2实施方式中说明的(2)的效果之外,还可以得到下述(3)的效果。
(3)能够使数据的汇集处理效率化。
如果是根据本实施方式的存储器系统,则利用在页缓冲器31和数据缓存器33之间的以小于页单位的单位进行的数据的交换,在数据写入时进行数据的汇集,可以高效率地进行数据的汇集处理。
如上所述,如果是根据本发明的第1至第3实施方式1的构成,则可以提高NAND型闪速存储器的动作速度。另外,在上述第2、第3实施方式中,当进行数据的汇集时,读出什么数据汇集成为恰好1页量的数据大小的信息被卡控制器12自身在例如RAM25等内作为表保持。即,卡控制器12由于掌握了将什么样的数据大小的数据写入什么地址,因此,只要选择其中任意一个合适的,就可以发出读出指令。
进一步地,上述第2、第3实施方式通过应用于文件系统而能够得到更显著的效果。以下,对文件系统简单地进行说明。所谓文件系统是管理在存储器内记录的文件(数据)的方式。以下以FAT(文件分配表)文件系统为例进行说明。在文件系统中,确定存储器中的文件或文件夹等的目录信息的制作方法、文件或文件夹等的移动方法和删除方法、数据的记录方式、管理区域的场所和利用方法等。图20是根据上述实施方式的NAND型闪速存储器11的存储空间的概念图。
如图所示,存储空间被粗分为用户数据区域40和管理区域41。用户数据区域40是存储由用户写入的净数据的区域。
管理区域41例如包括引导区域42、分区信息区域43、FAT1(44)、FAT2(45)以及根目录入口区域46。引导区域42存储例如引导信息。分区信息区域43存储分区信息。FAT1和FAT2存储在哪一个地址存储数据。以下,对FAT1、FAT2简单地进行说明。
用户数据区域40包括称为簇(cluster)的多个区域。然后,当写入的数据大于簇大小时,将其分割成簇单位进行存储。这时,存在写入数据的簇不连续的情况。即,1个数据被写入在位置上分离的簇。这时,用于管理将数据分割写入哪一个簇的管理数据在FAT1、FAT2中存储。
根目录入口区域46存储根目录入口的信息。然后,与文件名或文件夹名、文件大小、属性和文件的更新日期等一起,存储表示在FAT1、FAT2中示出的哪个簇是文件的开头簇的标志。
上述管理区域内的各个数据(以下称为管理数据),特别是FAT1、FAT2,是频繁进行更新的数据,并且其数据大小小,通常是未满足1页的数据大小。在NAND型闪速存储器中,为了禁止数据的写入,这样频繁更新的数据被暂时写入任意一个擦除存储块(称其为缓存块)。然后,每当更新数据时,依次写入缓存块。然后,以规定的定时将缓存块内的最新数据写入其它存储块(称之为缓存的回收)。从该缓存的回收的高速化的观点也希望使用根据上述实施方式的方法。以下将对这一点进行说明。
图21是存储块BLK0的概念图。如图所示,假定存储块BLK0包括128页,并且以各页中每512字节为单位分配地址“000”、“001”、“002”、...“1FF”。对于该存储块BLK0,考虑进行了5次写入A~E的情况。写入A是对地址“000”的512字节的数据的写入。写入B是对地址“005”的1024字节的数据的写入。写入C是对地址“03F”的2048字节的数据的写入。写入D是对地址“000”的1024字节的数据的写入。写入E是对地址“003”的1024字节的数据的写入。这些写入数据是例如管理数据等频繁更新的数据,假定为首先写入缓存块。
首先,使用图22对采用现有方法的缓存的回收进行说明。图22是缓存块和存储块BLK0的概念图,示出了缓存的回收的情形。
首先,在缓存块的页1中进行写入A。其次,在缓存块的页2中进行写入B。然后,横跨缓存块的页3、4进行写入C。接着,在缓存块的页6中进行写入D。
然后,进行缓存的回收。首先,应当写入地址“000”的数据是在写入D中写入的数据。即,在写入A中写入的数据被写在写入D的数据上,并变为不需要。因此,首先从缓存块的页5读出数据。其次,由于对存储块BLK0的地址“002”未进行更新,因此,为了保持原样地使用原来的数据,读出存储块BLK0的地址“002”的数据。进一步地,由于地址“003”的数据是在写入E中写入的数据,因此,从缓存块的页6读出数据。以上3次数据读出的结果,汇集应当写入存储块BLK0的页1的数据。
下面使用图23对应用上述实施方式时的缓存的回收进行说明。图23是缓存块和存储块BLK0的概念图,示出了缓存的回收的情形。
首先,与以往相同地,在缓存块的页1中进行写入A。其次,在缓存块的页2中进行写入B。然后,横跨缓存块的页3、4进行写入C。接着,在缓存块的页6中进行写入D。在该写入动作时,与现有方法不同的是:作为与存储块BLK0内的数据汇集后的1页大小的数据进行对缓存块的写入。
即,在向页1写入时,汇集在写入A中提供的512字节的数据和来自存储块BLK0的地址“001”~“003”的1536字节的数据,并写入页1。向页2以后的写入时也是同样的。在向页6的写入时,汇集在写入E中提供的512字节的数据和来自缓存块的数据D和地址“002”的数据。
然后,进行缓存的回收。与存储块BLK0的页1对应的数据保持在缓存块的页1、5、6中。其中,保持最新的数据的页6被读出,并写入存储块BLK0的页1。此外,将缓存块的页2的数据写入存储块BLK0的页2。
即,在使用本实施方式的情况下,在将数据写入缓存块的时刻,汇集写入数据和原来的存储块内的其它数据,成为1页大小的数据,并将该数据写入缓存块。因此,在缓存的回收时,以页为单位更新数据。因此,缓存的回收时的读出动作,每1页一次即可,能够使缓存的回收高速化。
此外,存储块BLK0与缓存块的对应,在图22的情况下,需要对每512字节的区域取得对应,其信息量庞大。但是,在应用上述实施方式的图23的情况下,只要以页为单位取得对应即可,可以减少对应信息。
进一步地,不仅从上述缓存的回收和对应关系两点,而且从来自主机设备的读出的观点来看,上述方法是理想的。即,为了高效率地进行FAT更新等文件系统的操作,在主机设备中,一般进行在某种程度汇集数据并预先读入。即,在闪速存储器中,在FAT区域等中,发生数据大小小的随机写入,同时也发生汇集这些写入数据并以恒定的大数据量的读出。即使在这样的情况下,如果采用根据本实施方式的方法,则由于数据大小小的数据以页为单位进行汇集,因此,读出动作每一页进行一次即可,可以提高动作速度。
对于本领域的普通技术人员来说,其它优点和修改很容易得到。因此,本发明,在更广泛的方面,并不限于在这里示出和描述的细节和典型的实施方式。因此,在不偏离由所附的权利要求及其等同方式所限定的总的发明概念的精神或范围的情况下,可以进行各种变形。

Claims (13)

1.一种存储器系统,包括:
非易失性半导体存储器,其具备各自包括能够保持数据的存储单元的多个存储块,各个存储块内的数据被一并地擦除,在每一个上述存储块内,上述数据以作为多个上述存储单元的集合的页为单位一并地写入;以及
控制器,其对上述非易失性半导体存储器传送写入数据和第1行地址,并且发布所传送的上述第1行地址的变更指令和与该第1行地址不同的第2行地址;
其中,上述非易失性半导体存储器,在没有发布上述变更指令时,将上述写入数据写入与上述第1行地址对应的上述存储单元;在发布了上述变更指令时,将上述写入数据写入与上述第2行地址对应的上述存储单元,而无需再次接收写入数据;
上述控制器对于上述非易失性半导体存储器依次输出第1写入指令、上述第1行地址、上述写入数据以及第2写入指令,并且当发布上述变更指令时,在向上述非易失性半导体存储器输出上述写入数据之后,依次向上述非易失性半导体存储器输出上述变更指令和上述第2行地址;
上述第2写入指令在输出上述第2行地址之后,向上述非易失性半导体存储器输出;
上述第1写入指令是使上述非易失性半导体存储器知道数据的写入动作开始的指令;
上述第2写入指令是使上述非易失性半导体存储器将上述写入数据写入上述存储块的指令。
2.根据权利要求1所述的系统,其中,上述控制器在上述写入数据的数据大小小于页大小时,发布上述变更指令和上述第2行地址;
上述第2行地址对应于与对应于上述第1行地址的上述存储块不同的上述存储块。
3.根据权利要求1所述的系统,其中,上述控制器在从主机设备接收了上述数据的写入访问的结束或者中断指令时,判定上述数据的数据大小是否小于页大小。
4.根据权利要求1所述的系统,其中,上述写入数据是FAT文件系统的管理数据。
5.一种存储器系统,包括:
非易失性半导体存储器,其具备各自包括能够保持数据的存储单元的多个存储块,各个存储块内的数据被一并地擦除,在每一个上述存储块内,上述数据以作为多个上述存储单元的集合的页为单位一并地写入;以及
控制器,其控制上述非易失性半导体存储器的动作;
其中,上述非易失性半导体存储器包括:
上述存储块;
第1缓冲器电路,其与上述存储块之间以上述页为单位交换数据,并能够保持1页量的数据;以及
第2缓冲器电路,其与上述第1缓冲器电路和上述控制器之间以小于或等于1页量的数据大小的数据单位交换数据,并能够保持1页量的数据;其中,上述控制器对于上述非易失性半导体存储器发布数据的读出指令、第1行地址和第2行地址;
上述非易失性半导体存储器,将与上述第1行地址对应并且包含小于上述页大小的第1数据的第1页数据读出到上述第2缓冲器电路,进而将与第2行地址对应并且包含小于上述页大小的第2数据的第2页数据读出到上述第1缓冲器电路;
上述第1缓冲器电路仅仅将上述第2页数据之中的上述第2数据传送到在上述第2缓冲器电路中保持上述第1数据以外的区域。
6.根据权利要求5所述的系统,其中,上述第2缓冲器电路向上述控制器传送上述第1数据和上述第2数据;
上述控制器对所传送的上述第1数据和第2数据进行错误检测,在检测到上述错误时进行错误修正,并向上述第2缓冲器电路传送已进行了上述错误修正的至少上述第1、第2数据中的任意一个;
在由上述控制器进行了上述错误修正时,将已进行了错误修正的上述至少第1、第2数据中的任意一个写入上述非易失性半导体存储器。
7.根据权利要求6所述的系统,其中,在没有检测到错误时,上述控制器不向上述第2缓冲器电路传送上述第2数据;
将在上述第2缓冲器电路中保持的上述第1、第2数据写入上述非易失性半导体存储器。
8.一种存储器系统,包括:
非易失性半导体存储器,其具备各自包括能够保持数据的存储单元的多个存储块,各个存储块内的数据被一并地擦除,在每一个上述存储块内,上述数据以作为多个上述存储单元的集合的页为单位一并地写入;以及
控制器,其控制上述非易失性半导体存储器的动作;
其中上述非易失性半导体存储器包括:
上述存储块;
第1缓冲器电路,其与上述存储块之间以上述页为单位交换数据,并能够保持1页量的数据;以及
第2缓冲器电路,其与上述第1缓冲器电路和上述控制器之间以小于或等于1页量的数据大小的数据单位交换数据,并能够保持1页量的数据;
其中,上述控制器在数据写入时发布第1行地址,并且对上述第2缓冲器电路传送第1数据;
上述控制器在传送到上述第2缓冲器电路的上述第1数据的数据大小小于页大小时,发布写入中止指令、数据的读出指令以及第2行地址;
上述非易失性半导体存储器,响应于上述写入中止指令,在上述第2缓冲器电路中保持上述第1数据,并且中断写入动作;响应于上述读出指令,将与上述第2行地址对应并且包含小于上述页尺寸的第2数据的页数据读出到上述第1缓冲器电路;
上述第1缓冲器电路仅仅将上述页数据之中的上述第2数据传送到在上述第2缓冲器电路中保持上述第1数据以外的区域;
上述第2缓冲器电路将上述第1、第2数据一并地写入与上述第1行地址对应的页。
9.根据权利要求8所述的系统,其中,上述第2缓冲器电路将从上述第1缓冲器电路传送的上述第2数据向上述控制器传送;
上述控制器对所传送的上述第2数据进行错误检测,在检测到上述错误时进行错误修正,并向上述第2缓冲器电路传送已进行了上述错误修正的第2数据;
将在上述第2缓冲器电路中保持的上述第1数据和从上述控制器向上述第2缓冲器电路传送的上述第2数据写入上述非易失性半导体存储器。
10.根据权利要求9所述的系统,其中,在没有检测到错误时,上述控制器不向上述第2缓冲器电路传送上述第2数据;
将在上述第2缓冲器电路中保持的上述第1、第2数据写入上述非易失性半导体存储器。
11.一种控制非易失性半导体存储器的卡控制器,包括:
主机接口,其能够连接到主机设备,并从上述主机设备接收写入数据和第1行地址;以及
运算处理装置,其对具备各自包括能够保持数据的存储单元的多个存储块的上述非易失性半导体存储器传送上述写入数据,并且发布上述第1行地址的变更指令和与该第1行地址不同的第2行地址;
其中,上述存储块内的数据被一并地擦除,在每一个上述存储块内,上述写入数据以作为多个上述存储单元的集合的页为单位一并地写入;
上述运算处理装置根据上述变更指令,对上述非易失性半导体存储器指示将上述写入数据写入与上述第2行地址对应的上述页,而无需对上述非易失性半导体存储器再次传送写入数据;
上述运算处理装置对上述非易失性半导体存储器依次输出第1写入指令、上述第1行地址、上述写入数据和第2写入指令,并且在发布上述变更指令时,在向上述非易失性半导体存储器输出上述写入数据之后,依次向上述非易失性半导体存储器输出上述变更指令和上述第2行地址;
上述第2写入指令在输出上述第2行地址之后,向上述非易失性半导体存储器输出;
上述第1写入指令是使上述非易失性半导体存储器知道数据的写入动作开始的指令;
上述第2写入指令是使上述非易失性半导体存储器将上述写入数据写入上述存储块的指令。
12.根据权利要求11所述的卡控制器,其中,上述运算处理装置在上述写入数据的数据大小小于页大小时,发布上述变更指令和上述第2行地址;
上述第2行地址对应于与对应于上述第1行地址的上述存储块不同的上述存储块。
13.根据权利要求11所述的卡控制器,其中,上述运算处理装置在从上述主机设备接收到上述数据的写入访问的结束或者中断指令时,判定上述数据的数据大小是否小于页大小。
CN2007101269602A 2006-06-30 2007-07-02 具备非易失性半导体存储器的存储器系统 Expired - Fee Related CN101097543B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006182631A JP5002201B2 (ja) 2006-06-30 2006-06-30 メモリシステム
JP182631/2006 2006-06-30

Publications (2)

Publication Number Publication Date
CN101097543A CN101097543A (zh) 2008-01-02
CN101097543B true CN101097543B (zh) 2010-06-23

Family

ID=39011388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101269602A Expired - Fee Related CN101097543B (zh) 2006-06-30 2007-07-02 具备非易失性半导体存储器的存储器系统

Country Status (5)

Country Link
US (2) US7937523B2 (zh)
JP (1) JP5002201B2 (zh)
KR (1) KR100884429B1 (zh)
CN (1) CN101097543B (zh)
TW (1) TWI358020B (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI103329B1 (fi) * 1997-12-22 1999-06-15 Nordberg Lokomo Oy Tapa leukamurskaimen kulutusleuan kiinnittämiseksi ja leukamurskain
JPWO2008102610A1 (ja) * 2007-02-23 2010-05-27 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JP5032155B2 (ja) * 2007-03-02 2012-09-26 株式会社東芝 不揮発性半導体記憶装置、及び不揮発性半導体記憶システム
US7962683B2 (en) * 2007-08-15 2011-06-14 Silicon Motion, Inc. Flash memory, and method for operating a flash memory
US8185685B2 (en) 2007-12-14 2012-05-22 Hitachi Global Storage Technologies Netherlands B.V. NAND flash module replacement for DRAM module
KR101067457B1 (ko) 2008-03-01 2011-09-27 가부시끼가이샤 도시바 메모리 시스템
JP4653817B2 (ja) * 2008-03-01 2011-03-16 株式会社東芝 メモリシステム
JP4592774B2 (ja) * 2008-03-01 2010-12-08 株式会社東芝 メモリシステム
TWI385519B (zh) * 2008-04-18 2013-02-11 Phison Electronics Corp 資料寫入方法及使用此方法的快閃儲存系統與其控制器
JP4649503B2 (ja) * 2008-08-13 2011-03-09 株式会社東芝 半導体装置
TWI413984B (zh) * 2008-10-16 2013-11-01 Silicon Motion Inc 快閃記憶體裝置以及資料更新方法
US8549209B2 (en) * 2008-11-04 2013-10-01 Mosaid Technologies Incorporated Bridging device having a configurable virtual page size
US8700840B2 (en) * 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US8244960B2 (en) * 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US8094500B2 (en) * 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
CN101859605B (zh) * 2009-04-10 2013-05-01 国民技术股份有限公司 一种使用瑕疵闪存的方法
TWI435215B (zh) * 2009-08-26 2014-04-21 Phison Electronics Corp 下達讀取指令與資料讀取方法、控制器與儲存系統
JP5657242B2 (ja) 2009-12-09 2015-01-21 株式会社東芝 半導体装置及びメモリシステム
TWI416331B (zh) * 2009-12-23 2013-11-21 Phison Electronics Corp 用於快閃記憶體的資料寫入方法及其控制器與儲存裝置
JP5708216B2 (ja) * 2011-05-09 2015-04-30 ソニー株式会社 フラッシュメモリ装置、メモリ制御装置、メモリ制御方法、ストレージシステム
JP5768654B2 (ja) * 2011-10-25 2015-08-26 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法
CN103680610A (zh) * 2012-09-03 2014-03-26 北京兆易创新科技股份有限公司 差分存储NAND Flash存储器写操作的方法及装置
KR102133573B1 (ko) 2013-02-26 2020-07-21 삼성전자주식회사 반도체 메모리 및 반도체 메모리를 포함하는 메모리 시스템
EP3333853A1 (en) * 2013-03-07 2018-06-13 Charles I. Peddle High speed flash controllers
US9069660B2 (en) * 2013-03-15 2015-06-30 Apple Inc. Systems and methods for writing to high-capacity memory
US20150095551A1 (en) * 2013-09-30 2015-04-02 Micron Technology, Inc. Volatile memory architecutre in non-volatile memory devices and related controllers
JP6107625B2 (ja) * 2013-12-02 2017-04-05 ソニー株式会社 記憶制御装置、記憶装置、情報処理システムおよびその記憶制御方法
US9460019B2 (en) * 2014-06-26 2016-10-04 Intel Corporation Sending packets using optimized PIO write sequences without SFENCEs
JP2016028319A (ja) * 2014-07-08 2016-02-25 富士通株式会社 アクセス制御プログラム、アクセス制御装置及びアクセス制御方法
KR20170008339A (ko) * 2015-07-13 2017-01-24 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
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
CN109582235B (zh) * 2018-11-27 2021-12-21 杭州宏杉科技股份有限公司 管理元数据存储方法及装置
CN109815711B (zh) * 2018-12-21 2020-12-25 航天信息股份有限公司 一种存储设备、数据存储方法和数据读取方法
KR20210142974A (ko) * 2020-05-19 2021-11-26 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
JP2022047855A (ja) 2020-09-14 2022-03-25 キオクシア株式会社 メモリシステム
CN113409849A (zh) * 2021-05-21 2021-09-17 芯天下技术股份有限公司 一种降低编程功耗的方法、装置、存储介质和终端
CN113409852A (zh) * 2021-06-17 2021-09-17 芯天下技术股份有限公司 一种提高闪存编程效率的方法、装置、存储介质和终端
CN113409850A (zh) * 2021-06-17 2021-09-17 芯天下技术股份有限公司 一种提高编程效率的方法、装置、存储介质和终端

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4680647A (en) * 1983-09-26 1987-07-14 Pioneer Electronic Corporation Method for recording and reproducing video format signal
US5371885A (en) * 1989-08-29 1994-12-06 Microsoft Corporation High performance file system
FR2710445B1 (fr) * 1993-09-20 1995-11-03 Sgs Thomson Microelectronics Circuit de redondance dynamique pour mémoire en circuit intégré.
GB2285524B (en) 1994-01-11 1998-02-04 Advanced Risc Mach Ltd Data memory and processor bus
US6047352A (en) * 1996-10-29 2000-04-04 Micron Technology, Inc. Memory system, method and predecoding circuit operable in different modes for selectively accessing multiple blocks of memory cells for simultaneous writing or erasure
JPH11224492A (ja) 1997-11-06 1999-08-17 Toshiba Corp 半導体記憶装置、不揮発性半導体記憶装置及びフラッシュメモリ
JPH11242630A (ja) * 1997-12-26 1999-09-07 Mitsubishi Electric Corp ベースバンドic
JP2000067582A (ja) * 1998-08-14 2000-03-03 Texas Instr Inc <Ti> メモリシステムおよび電子装置の動作方法
US6449193B1 (en) * 2000-12-28 2002-09-10 Texas Instruments Incorporated Burst access memory system
JP3979486B2 (ja) 2001-09-12 2007-09-19 株式会社ルネサステクノロジ 不揮発性記憶装置およびデータ格納方法
US6850438B2 (en) * 2002-07-05 2005-02-01 Aplus Flash Technology, Inc. Combination nonvolatile memory using unified technology with byte, page and block write and simultaneous read and write operations
US6944063B2 (en) * 2003-01-28 2005-09-13 Sandisk Corporation Non-volatile semiconductor memory with large erase blocks storing cycle counts
CN100349138C (zh) 2003-08-08 2007-11-14 倚天资讯股份有限公司 非挥发性存储器存取系统及其循环使用存取空间方法
JP2005063038A (ja) 2003-08-08 2005-03-10 Sony Corp データ処理装置、その方法、そのプログラムおよび記録媒体
WO2005050453A1 (ja) 2003-11-18 2005-06-02 Matsushita Electric Industrial Co., Ltd. ファイル記録装置
JP2005332125A (ja) 2004-05-19 2005-12-02 Victor Co Of Japan Ltd メモリコントローラ及び共有メモリシステム
JP4253272B2 (ja) * 2004-05-27 2009-04-08 株式会社東芝 メモリカード、半導体装置、及び半導体メモリの制御方法
KR100568115B1 (ko) * 2004-06-30 2006-04-05 삼성전자주식회사 점진적 머지 방법 및 그것을 이용한 메모리 시스템
JP4713867B2 (ja) * 2004-09-22 2011-06-29 株式会社東芝 メモリコントローラ,メモリ装置及びメモリコントローラの制御方法
US7366826B2 (en) * 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
JP4738038B2 (ja) 2005-03-25 2011-08-03 株式会社東芝 メモリカード
KR100634457B1 (ko) * 2005-07-04 2006-10-16 삼성전자주식회사 단일의 페이지 버퍼 구조로 멀티-비트 및 단일-비트프로그램 동작을 수행하는 플래시 메모리 장치

Also Published As

Publication number Publication date
KR100884429B1 (ko) 2009-02-19
KR20080002646A (ko) 2008-01-04
JP5002201B2 (ja) 2012-08-15
US7937523B2 (en) 2011-05-03
CN101097543A (zh) 2008-01-02
TWI358020B (en) 2012-02-11
TW200819976A (en) 2008-05-01
US20080046639A1 (en) 2008-02-21
US20110185225A1 (en) 2011-07-28
JP2008009942A (ja) 2008-01-17

Similar Documents

Publication Publication Date Title
CN101097543B (zh) 具备非易失性半导体存储器的存储器系统
CN103562883B (zh) 存储器装置中的动态存储器高速缓存大小调整
CN1828555B (zh) 支持多存储器映射方案的快闪存储器控制器件及其方法
CN100481022C (zh) 用于控制非易失性存储器的控制器
US9025376B2 (en) Nonvolatile memory device and related method of operation
EP3121704B1 (en) Solid state storage device controller with expansion mode
US11069413B2 (en) Memory system and nonvolatile memory
KR20190054974A (ko) 메모리 시스템 및 그것의 동작 방법
US10466908B2 (en) Memory system that buffers data before writing to nonvolatile memory
CN102436406A (zh) 半导体装置及其数据存取方法
CN102999452A (zh) 存储器设备
KR101076981B1 (ko) 전하 축적층과 제어 게이트를 갖는 메모리 셀을 구비한 반도체 장치 및 그 데이터 기입 방법
KR20060050585A (ko) 반도체 기억장치 및 그 액세스 방법 및 메모리 제어 시스템
CN109947662A (zh) 存储器系统及其操作方法
CN102332290A (zh) 用来管理和存取闪存模块的控制器
CN101641679A (zh) 用于系统管理的多级单元选择的多程序
CN102292711A (zh) 固态存储器格式化
US10867679B2 (en) Semiconductor memory device
CN102483685B (zh) 具有附属文件系统的多堆非易失性存储器系统
KR20190043863A (ko) 메모리 시스템 및 그것의 동작 방법
US20210405724A1 (en) Open channel solid state drive, nonvolatile memory system including the same and method of power loss protection of open channel solid state drive
CN109215718A (zh) 能够支持多次读操作的存储装置
CN100437458C (zh) 存储器件和主机装置
US20080109588A1 (en) Memory Card and Method of Driving the Same
CN106484630A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100623

Termination date: 20140702

EXPY Termination of patent right or utility model