CN102354299B - 存储卡和半导体器件 - Google Patents
存储卡和半导体器件 Download PDFInfo
- Publication number
- CN102354299B CN102354299B CN201110241980.0A CN201110241980A CN102354299B CN 102354299 B CN102354299 B CN 102354299B CN 201110241980 A CN201110241980 A CN 201110241980A CN 102354299 B CN102354299 B CN 102354299B
- Authority
- CN
- China
- Prior art keywords
- address
- data
- word group
- accumulator system
- card
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (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)
- Storage Device Security (AREA)
Abstract
本公开涉及存储卡和半导体器件。存储卡(1)包括控制器(4)和非易失性半导体存储器(3)。控制器(4)管理第一擦除字组大小的半导体存储器中的第一地址与除第一擦除字组大小之外的第二擦除字组大小的半导体存储器中的第二地址之间的通信。非易失性半导体存储器(3)是第二擦除字组大小的存储器。控制器(4)通过第二地址执行对非易失性半导体存储器(3)的存取。
Description
本申请是申请日为2004年9月22日、申请号为200410011822.6、发明名称为“存储卡和半导体器件”的中国发明专利申请的分案申请。
技术领域
本发明涉及一种具有非易失性半导体存储器的储存卡,具体言之,涉及一种具有与非门快闪存储器的存储卡以及嵌入在该存储卡内的半导体器件。
背景技术
构造一些不同的快闪存储卡使主机管理存储卡内的物理状态(指示哪个物理字组地址中包括哪个逻辑扇区地址或哪个字组处于擦除状态)。在这样的存储卡中,主机直接控制存储卡的快闪存储器。主机采用快闪存储器的写入单位和擦除单位,并使用给定的字组大小作为擦除单位对快闪存储器执行写入存取和擦除存取。
近来已经注意到存储卡中擦除单位的字组大小大于以前。
日本专利申请KOKAI公开案No.2002-133877中公开了一种技术,能够改变擦除大小以在存储单元中部分地擦除数据,并能够缩短从较大区域擦除数据的时间周期。
若当将要存取的存储卡中的快闪存储器的写入单位和擦除单位变化(例如,擦除单位的字组大小变大)时没有进行测量,则主机不能存取该存储卡。
通过在存储卡中嵌入转换控制器能够解决上述的问题。但是,如果快闪存储器的内部状态保持为主机指示的状态,则每次主机对快闪存储器执行写入存取和擦除存取时,数据都需要以擦除单位重写在该快闪存储器上。因此明显增加了写入和擦除的内部操作的负担。上述的公开案包括类似的问题。
发明内容
按照本发明的一个方面,提供一种含有存储器和处理器的半导体器件,其中存储器存储程序,用于管理第一擦除字组大小的半导体存储器中的第一地址与除第一擦除字组大小之外的第二擦除字组大小的半导体存储器中的第二地址之间的通信,处理器运行存储在该存储器中的程序。
按照本发明的另一个方面,提供一种含有控制器和第二擦除字组大小的非易失性半导体存储器的存储卡,其中控制器管理第一擦除字组大小的半导体存储器中的第一地址与除第一擦除字组大小之外的第二擦除字组大小的半导体存储器中的第二地址之间的通信,控制器通过第二地址存取该非易失性存储器。
附图说明
并入和构成说明书一部分的附图、本发明的示例性实施例以及上述的一般说明和下述的实施例的详细说明,用于解释本发明的原理。
图1是按照本发明实施例的存储卡中嵌入器件的排列的示意性透视图;
图2是按照本发明实施例的含有主机和存储卡的构造的方框图;
图3给出了主机中采用的快闪存储器与实际中应用的快闪存储器之间的数据位置的差别;
图4给出了主机与存储卡(大字组卡)的通信层次的流程图;
图5A和5B给出了从主机传输命令的格式;
图6给出了主机采用的字组写入操作与实际中存储卡(大字组卡)执行的写入操作之间的对比;
图7A和7B给出了大字组卡中快闪存储器的字组格式(256K字节物理字组作为一个擦除单位)以及最后24字节管理数据区域的细节;
图8给出了控制器中RAM上创建的不同的表格;
图9给出了每个表格创建过程的流程图;
图10是写入存取过程的流程图;
图11详细给出了在图10所示流程的步骤B3中数据写入过程的流程图;
图12给出了图11所示流程的步骤C1的过程的示意图;
图13给出了图11所示流程的步骤C2的过程的示意图;
图14给出了图11所示流程的步骤C3的过程的示意图;
图15A和15B给出了图11所示流程的步骤C4的过程的示意图;
图16是读取存取过程的流程图;
图17是擦除存取过程的流程图;
图18是当主机向按照本发明实施例的存储卡中写入数据时,存储卡的I/O引脚和R/B引脚的信号的时序图;
图19是当存储卡中的控制器向非易失性存储器写入数据时,按照本发明实施例的存储卡中的非易失性存储器的I/O引脚和R/B引脚的信号时序图;和
图20给出了按照本发明实施例的存储卡的使用方法的示意图。
具体实施方式
将参照附图说明本发明的实施例。
图1是按照本发明实施例的存储卡中嵌入器件的排列的透视图。
存储卡1包括PCB(印刷电路板)基板2,其上如图1所示排列了与非门快闪存储器3和控制器4。控制器4具有例如CPU(中央处理单元)8和ROM(只读存储器)9的功能块。下面将详细说明各个器件。与非门快闪存储器3可以包括在一个存储单元中存储一位信息的二进制存储器。与非门快闪存储器3可以包括在一个存储单元中存储多于一位(例如,两位)信息的多级存储器。与非门快闪存储器3和控制器4能够排列在同一个LSI(大规模集成)基板上。
下面说明中使用的术语“逻辑字组地址”和“物理字组地址”分别表示字组本身的逻辑地址及其物理地址。术语“逻辑地址”和“物理地址”也分别主要表示字组本身的逻辑地址及其物理地址,但它们能够表示与小于字组的分辨率单位对应的地址。
图2是含有主机设备和上述存储卡的构造的方框图。使用相同的参考标记表示与图1中相同的元件。
主机设备(以下称作主机)20包括用于存取连接其上的存储卡的硬件和软件(***)。主机20管理存储卡中的物理状态(指示哪个物理字组地址中包括哪个逻辑扇区地址或哪个字组处于擦除状态)。主机20直接控制存储卡中的快闪存储器。
假设使用具有16K字节的擦除字组大小的与非门快闪存储器,主机20以16K字节为单位为快闪存储器分配逻辑/物理地址。大多数情况下,主机20对16K字节的逻辑地址按顺序执行写入存取或读取存取(即,发布相应的命令)。
当存储卡1连接到主机20时,其接收电能并工作,以及根据主机20执行与存取对应的处理。存储卡1包括如上所述的与非门快闪存储器3和控制器4。
与非门快闪存储器3是擦除字组大小(擦除单位的字组大小)为256K字节的非易失性半导体存储器。例如,以16K字节为单位在存储器3中写入或读出数据。例如,使用0.09微米工艺制造与非门快闪存储器3。换言之,与非门快闪存储器3的设计规则小于0.1微米。
控制器4包括存储器接口5、主机接口6、缓冲器7和RAM(随机存取存储器)10以及上述的CPU 8和ROM 9。
存储器接口5执行控制器4与与非门快闪存储器3之间的接口处理。主机接口6执行控制器4与主机20之间的接口处理。
当缓冲器7向与非门快闪存储器3写入主机20发送的数据时,其临时保存给定数量的数据(例如,一页数据)。当缓冲器7向主机20发送从存储器3读出的数据时,其临时保存给定数量的数据。
CPU 8控制存储卡1的整个操作。当存储卡1接收电能时,CPU8在RAM 10上装载存储在ROM 9中的韧件(稍后说明的控制程序),以执行给定的过程。因此CPU 8在RAM 10上创建不同的表格(稍后说明),从主机20接收写入命令、读取命令和擦除命令,并存取它们在与非门快闪存储器3上对应的区域,以及控制通过缓冲器7的数据的传输。
ROM 9是存储由CPU 8使用的控制程序等的存储器。RAM 10是存储器,用作CPU 8的工作区域来存储控制程序和不同的表格。
图3给出了主机20中采用的快闪存储器与实际中应用的快闪存储器(即,存储卡1中的与非门快闪存储器3)之间的数据位置的差别。
在主机20采用的快闪存储器中,每页有528字节(512字节数据存储区域+16字节冗余区域),32页对应一个擦除单位(16K字节+0.5K字节,此处K是1024)。此后有时将具有这样的快闪存储器的卡称作“小字组卡”。
在实际应用的快闪存储器3中,每页有2112字节(512字节数据存储区域×4+10字节冗余区域×4+24字节管理数据存储区域),128页对应一个擦除单位(256K字节+8K字节)。此后有时将具有这样的快闪存储器的卡称作“大字组卡”。为了方便,认为小字组卡的擦除单位为16K字节,大字组卡的擦除单位为256K字节。
主机20采用的快闪存储器和实际使用的快闪存储器3都具有页缓冲器,以将数据输入到快闪存储器/从快闪存储器输出数据。主机20采用的快闪存储器的页缓冲器的存储容量是528字节(512字节+16字节),实际使用的快闪存储器3的页缓冲器的存储容量是2112字节(2048字节+64字节)。例如,在数据写入模式下,每个页缓冲器按照对应其自身的存储容量的每页,将数据输入到快闪存储器/从快闪存储器输出数据。
在图3中,实际使用的快闪存储器3的擦除字组大小是主机20采用的快闪存储器的擦除字组大小的16倍。本发明并不限于这个倍数。如果前者基本上是后者的整数倍,这些大小能够改变。
期望图3中所示的快闪存储器3的存储容量是1千兆位或更大,以便将大字组卡投入实际应用。例如,当快闪存储器3的存储容量是1千兆位时,256K字节字组(擦除单位)的数量是512个。
在图3中,擦除单位是256K字节字组。考虑到实用性,将擦除单位设置为128K字节是有效的,在此情况下,128K字节字组的数量是1024个。
在图3中,实际使用的快闪存储器3的擦除字组大小大于主机20采用的快闪存储器的擦除字组大小。但是,本发明不限于此种情况。实际使用的快闪存储器3的擦除字组大小可以小于主机20采用的快闪存储器的擦除字组大小。
图4给出了主机20与存储卡1(大字组卡)的***的通信层次。
主机20包括应用软件21、文件***22、驱动软件23和小字组卡物理存取层24。存储卡1(大字组卡)包括小字组卡物理存取层11、小字组卡物理/小字组卡逻辑转换层12、小字组卡逻辑/大字组卡物理转换层13和大字组卡物理存取层14。
如果应用软件21要求文件***22向文件写入数据,文件***22指示驱动软件23基于小字组卡的逻辑字组地址按顺序向扇区中写入数据。为了基于小字组卡的逻辑字组地址对每个16K字节字组执行随后的写入操作,驱动软件23使用逻辑/物理字组转换发布指示小字组卡的物理字组地址的随机写入命令,通过小字组卡物理存取层24到达大字组卡并传输数据。
在写入存取中,小字组卡和大字组卡两者都基于根据协议按照下面顺序传输的信息:(1)命令,(2)页地址(行地址),(3)列地址,(4)数据和(5)程序确认命令。
当从主机20接收指示小字组卡的物理地址的写入命令时,小字组卡物理存取层11不仅获得物理字组地址和数据,还获得包含在伴随物理地址和数据的数据中的逻辑字组地址。
小字组卡物理/小字组卡逻辑转换层12具有第一表格,用于在数据读取模式下将小字组卡的物理字组地址(对于16K字节字组)转换成小字组卡的逻辑字组地址(对于16K字节字组)。当物理存取层11响应写入命令获得小字组卡的逻辑字组地址时,转换层12将其反映在第一表格中。转换层12也在第一表格中反应物理字组地址。
小字组卡逻辑/大字组卡物理转换层13具有第二表格,用于在数据读取模式下将小字组卡的物理字组地址(对于连续的16K字节字组×16)转换成大字组卡的物理字组地址(对于256K字节物理字组)。当物理存取层11接收写入命令并获得小字组卡的逻辑字组地址时,转换层12将其反映在第二表格中。
大字组卡物理存取层14基于小字组卡物理存取层11获得的小字组卡的逻辑字组地址确定快闪存储器3中的数据位置,并将16K字节数据以2K字节(对于每页)为单位顺序地写入256K字节物理字组中。层14在快闪存储器3的管理数据区域内的给定区域存储小字组卡的逻辑字组地址和物理字组地址。
由于主机20基于小字组卡的物理字组地址发布命令,所以大字组卡管理哪个256K字节物理字组含有与小字组卡的物理字组地址对应的数据。更具体地,主机20管理小字组卡针对每个16k字节字组的逻辑和物理字组地址之间的通信,并管理大字组卡中的哪个256K字节物理字组含有与小字组卡连续256K字节字组的逻辑字组地址对应的数据。
主机20采用16K字节字组的擦除单位,但实际存取擦除单位为256K字节物理字组的大字组卡。大字组卡与主机20使用的控制算法和物理格式相适应地灵活响应存取。由于控制算法,当以16K字节逻辑字组地址执行新的写入操作时,已经被同样的逻辑字组地址写入的、与小字组卡的16K字节物理字组地址对应的字组(以下称作以前分配的逻辑字组)中的数据被擦除,主机20仿效以前分配的逻辑字组处于擦除状态。但是在实际中,在大字组卡中没有擦除16K字节的数据,因此能够大大减少快闪存储器3的物理操作的管理成本。
图5A和5B给出了从主机20传输的命令的格式。
主机20所发送命令的格式的数据包含有不同类型的信息,例如图5A所示的命令型信息(在此情况下是“写入”信息)以及地址(物理字组地址)和数据(实际内容数据和附属数据(512字节+16字节))。
在上述的数据包中,小字组块的逻辑字组地址(即,与将要存取的16字节字组对应的逻辑地址)位于16字节附属数据中的给定位置。特别地,大字组卡获得上述的逻辑字组地址以及命令型信息、物理字组地址和数据。
图6给出了主机20采用的字组写入操作与实际中存储卡1(大字组卡)执行的写入操作之间的对比。
当基于小字组卡的逻辑地址对每个16K字节字组执行连续的写入操作时,主机20(图6的左侧)基于小字组卡的物理字组地址以16K字节字组为单位执行随机写入操作。这是基于以下前提,即擦除了每个16K字节字组的以前分配的逻辑字组的数据。
当从主机20接收写入命令以后,大字组卡(图6的右侧)基于小字组卡的逻辑字组地址,按顺序将数据写入快闪存储器3的每16K字节字组中。按照上述前提,大字组卡通知主机20小字组卡中以前分配的逻辑字组也处于擦除状态。如果主机20读取以前分配的逻辑字组,大字组卡响应此读取,通知主机20该字组处于擦除状态。如果需要,大字组卡还通知主机20没有被分配小字组卡的逻辑字组地址的小字组卡的物理字组处于擦除状态。
如上所述,主机20基于小字组卡的物理地址以16字节为单位执行随机写入操作。随机写入操作通常导致只对大字组卡(256K字节)的一部分频繁写入数据。在与非门快闪存储器中,不能只对每个字组擦除数据。为了只对部分字组重写数据,需要对数据已经擦除的新字组写入新的数据,并将其它没有被重写的数据从以前的字组复制到新的字组。只对部分字组重写数据的操作伴随了复制没有被重写的数据的操作(以下称作“有关数据复制”)。如果频繁地执行重写操作,则大大增加了管理成本。
在本实施例中,按照从主机20获得的逻辑地址的顺序在大字组卡上重新分配物理地址。重新分配减少了只对部分字组重写数据时的操作数量,避免了增加管理成本。
图7A和7B给出了大字组卡中与非门快闪存储器3的字组格式(256K字节物理字组作为一个擦除单位)以及最后24字节管理数据区域的细节。
在大字组卡中,256K字节物理字组包括16个用于写入16K字节数据的字组(以下称作主机管理字组),16K字节数据是主机20管理的单位。在数据写入模式下,数据项目按照小字组卡的逻辑字组地址定位。
每个主机管理字组包括8页。每页包括4个512字节数据区域和它们对应的10字节ECC区域。每页在最后的512字节数据区域(第四个512字节数据区域)之后还包括24字节管理数据区域。因此最后的10字节ECC区域被用到第四个512字节数据区域和24字节管理数据区域。
在256K字节物理字组中包括的128个24字节管理数据区域中,最后的24字节管理数据区域30存储了与从主机20发送命令获得的物理字组地址对应的地址信息(以下称作主机管理物理地址),以及与逻辑字组地址对应的地址信息(以下称作主机管理逻辑字组地址)。
更具体地,无论16K字节数据何时被写入16K字节主机管理字组,其对应的主机管理物理地址(例如,10比特)都被存储在管理数据区域30的给定区域中。因此,与16个16K字节主机管理字组对应的16个主机管理物理地址存储在管理数据区域30的给定区域中。在与16个16K字节主机管理字组对应的连续16个逻辑字组地址中,最初的逻辑字组地址(例如,10比特)存储在管理数据区域30的给定区域中,作为主机管理逻辑地址。
在上面的构造中,CPU 8在每256K字节中读取最后区域(512字节+24字节+10字节)的信息,并查阅此处的24字节管理数据以获得主机管理物理地址以及与256K字节字组对应的16个字组的主机管理逻辑字组地址。
当创建如图4所示的第一表格和第二表格时,使用存储在每个256K字节字组中的主机管理物理地址和主机管理逻辑字组地址。
图8给出了在控制器4中RAM 10上创建的不同的表格。
第一表格对应“小字组卡逻辑/物理字组地址”表格31,第二表格对应“小字组卡逻辑字组地址/大字组卡物理字组地址”表格32。使用存储在管理数据区域30(图7A和7B)中的主机管理物理地址和主机管理逻辑字组地址,在RAM 10上创建表格31和表格32。
表格31用于在数据读取模式下将小字组卡的物理字组地址(与16K字节字组对应)转换成小字组卡的逻辑字组地址(与16K字节字组对应)。
表格32用于在数据读取模式下将小字组卡的逻辑字组地址(连续的16K字节字组×16)转换成大字组卡的物理字组地址(与256K字节物理字组对应)。
将参照图9所示的流程图说明创建表格的过程。
当从主机20接收电能(步骤A1)时,存储卡1(大字组卡)开始操作CPU 8,并把存储在ROM 9中的控制程序(用于管理小字组卡的物理/逻辑字组地址与快闪存储器3的物理字组地址之间的通信)装载到RAM 10上,然后运行该程序(步骤A2)。
CPU 8使用存储在快闪存储器3的管理数据区域30中的主机管理地址和主机管理逻辑字组地址,在RAM 10上创建“小字组卡逻辑/物理字组地址”表格31和“小字组卡逻辑字组地址/大字组卡物理字组地址”表格32(步骤A3)。然后,CPU 8等待接受来自主机20的命令(步骤A4),按照控制程序执行每个写入存取、读取存取和擦除存取的操作。
将参照图10所示的流程图说明写入存取的过程。
当从主机20接收对于例如16K字节字组的写入命令(步骤B1)后,CPU 8不仅获得小字组卡的物理字组地址和数据,还获得包含在物理字组地址和数据的附属数据中的逻辑字组地址(步骤B2)。
CPU 8按照获得的小字组卡的逻辑字组地址的顺序,将16K字节数据写入256K字节物理字组,并将与小字组卡的逻辑字组地址和物理字组地址对应的主机管理逻辑字组地址和主机管理物理地址存储到管理数据区域30的给定区域中(步骤B3)。CPU 8将获得的小字组卡的逻辑字组地址和物理字组地址反映到RAM 10上的表格31和32中(步骤B4)。
最后,CPU 8通知主机完成了写入操作(步骤B5)。
将参照图11所示的流程图和图12至15的概念图,说明图10所示的步骤B3的数据写入操作。
CPU 8在数据写入模式下确定目标逻辑字组地址(对应16K字节字组)是否与其前面的逻辑字组地址(对应16K字节字组)连续(图11中步骤C1)。换言之,如图2所示,当数据已经被写入物理字组X1及其前面的物理字组时,CPU 8确定接下来将要写入数据的物理字组是否对应与上面的物理字组X1连续的16K字节物理字组X2。
如果物理字组对应16K字节物理字组X2,则CPU 8将16K字节数据写入在前面写入16K字节数据之后的大字组卡的256K字节物理字组中(图11的步骤C2)。换言之,CPU 8将数据写入如图13所示的16K字节物理字组X2。
如果物理字组不对应16K字节物理字组X2,则CPU 8对大字组卡的256K字节物理字组的后半部执行有关数据复制(图11中的C3)。换言之,如图14所示,对应目标256K字节字组的先前的256K字节字组包括:i)具有旧数据的先前分配的16K字节逻辑字组群的物理区域Y1,其中由于在物理字组X1及其以前的物理字组中写入(更新)数据,因此旧数据将不再被需要,和ii)具有有效数据的物理区域Y2,由于该数据没有被更新所以保持有效性。因此,CPU 8将物理区域Y2的数据复制到目标256K字节物理字组中紧随物理区域X1之后的物理区域Y3。在复制之后,CPU 8从不需要的先前256K字节物理字组中擦除数据。
然后,CPU 8将数据写入大字组卡的新的256K字节物理字组(其数据已经被擦除)中并进行处理(步骤C4)。按照将要写入数据的区域是否是256K字节物理字组的头部,可以改变该过程。如果该区域是字组的头部,则CPU 8将16K字节数据写入位于图15A所示头部的物理字组Z1。如果不是,则CPU 8对大字组卡的256K字节物理数据的前半部执行有关数据复制。换言之,如图15B所示,CPU 8将先前分配的16K字节逻辑字组群的数据复制到物理字组Z2,该物理字组Z2从256K字节物理字组的头部到紧邻物理区域Z3的位置。之后,16K字节数据被写入物理区域Z3。
将参照图16的流程图说明读取存取的过程。
当从主机20接收对于例如16K字节字组的读取命令(步骤D1)后,CPU 8获得加到读取命令上的小字组卡的物理字组地址(步骤D2)。
然后,CPU 8查阅表格31,从获得的物理字组地址中得到小字组卡的逻辑字组地址(步骤D3)。CPU 8查阅表格32,从获得的逻辑字组地址中得到大字组卡的物理字组地址(步骤D4)。
最后,CPU 8在与获得的大字组卡的物理字组地址相对应的物理区域中读取数据,并将其返回到主机20(步骤D5)。
将参照图17所示的流程图说明擦除存取的过程。
在从主机20接收对于例如16K字节字组的擦除命令(步骤E1)后,当需要擦除时,CPU 8在RAM 10上的给定区域中记录指示该字组处于擦除状态的信息(步骤E2)。
可以省略步骤E2。如果CPU 8执行步骤E2,则能够准确地回答确认擦除状态的要求,该要求是电源接通或断开时主机20发出的。
最后,CPU 8实际没有从该字组擦除数据,但是却通知主机20数据已经被擦除(步骤E3)。
图18是当主机20向按照本发明实施例的存储卡1中写入数据时,存储卡1的I/O引脚和R/B引脚的信号的时序图。
在存储卡是具有16K字节擦除字组大小的非易失性存储器的前提下,主机20控制存储卡。例如,当主机20向存储卡写入数据时,主机20向I/O引脚1至8发送一系列数据输入命令80H(H表示16进制)。然后,主机20向I/O引脚1至8发送列地址C/A和页地址P/A。列地址C/A和页地址P/A是主机20对存储卡1采用的虚拟物理地址空间的列地址和页地址。
主机20还向每个I/O引脚1至8发送528次写入数据。更具体地,主机20将528比特数据连续移入到每个I/O引脚(对于所有I/O引脚共有528字节),同时向写入启动引脚输入528次时钟信号。完成数据移入后,主机20向I/O引脚1至8发送程序命令10H。响应该命令,存储卡向R/B引脚输出低电位信号,表示存储卡繁忙。在给定的时间周期之后,存储卡向R/B引脚输出高电位信号,表示存储卡做好准备。
应当注意,如图18所示的R/B引脚的状态表示主机20所看到的状态,即关于存储卡1所处的状态。换言之,即使存储卡响应图18所示的程序命令10H表示R/B引脚忙(输出低电位信号),实际上也没有一直向存储卡的与非门快闪存储器3写入数据(即,并没有从页缓冲器一直向存储单元阵列传输数据)。即使R/B引脚回到准备状态,实际上也没有一直向存储卡的与非门快闪存储器3写入数据。
图19是当存储卡1中的控制器4向与非门快闪存储器3写入数据时,按照本发明实施例的存储卡1中的与非门快闪存储器3的I/O引脚和R/B引脚的信号时序图。
控制器4将与非门快闪存储器3识别为具有256K字节擦除字组大小的非易失性存储器。例如,当控制器4向与非门快闪存储器3写入数据时,控制器4向I/O引脚1至8发送一系列数据输入命令80H(H表示16进制)。然后,控制器4向I/O引脚1至8发送列地址C/A和页地址P/A。列地址C/A和页地址P/A是控制器4对与非门快闪存储器3采用的虚拟物理地址空间的列地址和页地址。因此,图19所示的列地址C/A和页地址P/A并不一直与图18所示的相一致。
控制器4还向每个I/O引脚1至8发送2112次写入数据。更具体地,控制器4将2112比特数据连续移入到每个I/O引脚(对于所有I/O引脚共有2112字节),同时向写入启动引脚输入2112次时钟信号。完成数据移入后,控制器4向I/O引脚1至8发送程序命令10H。响应该命令,存储卡向R/B引脚输出低电位信号,表示存储卡忙。在给定的时间周期之后,存储卡向R/B引脚输出高电位信号,表示存储卡做好准备。
应当注意,如图19所示的R/B引脚的状态表示控制器4所看到的状态,即关于与非门快闪存储器3所处的状态。
图18和19以一个循环的形式给出了每个列地址C/A和页地址P/A。但是,可能存在按照存储卡1或与非门快闪存储器3的容量要求两个或多个循环的情况。
图20给出了按照本发明实施例的存储卡1的使用方法的示意图。
假设包含在前面主机20内的控制器采用具有16K字节擦除字组单位的小字组卡100。如果使用具有256K字节擦除字组单位的存储器来实现大字组卡,而存储卡中没有包含合适的控制器,则由于擦除单位的差别可能执行错误的存取。对于具有256K字节擦除字组单位的存储器,通过采用含有控制器4的大字组卡,可能使用***主机20的小字组卡。
按照本发明前述的实施例,能够优化数据的位置,并通过从主机发送的写入命令的伴随信息获得连续逻辑字组地址能够减小写入模式下的管理成本,其中主机存取小字组卡,然后按照小字组卡的逻辑字组地址的顺序在大字组卡的物理字组中定位数据。此外,通过管理小字组卡的物理/逻辑字组地址与大字组卡的物理字组地址之间的通信,能够有效地保持小字组卡和大字组卡之间的一致性。另外,主机的擦除命令实际没有表现在大字组卡的部分擦除字组大小中(擦除字组没有局部设置为擦除状态),但是CPU操作好像数据已经从存储卡的擦除字组中被擦除。因此能够减小大字组卡的内部操作的负担。
如上详细说明,按照本发明的实施例,可能提供一种半导体器件和存储卡,其能够有效处理采用具有不同擦除字组大小的存储器的存取。
本领域技术人员将很容易想到其它的优点和修改。因此,本发明在其较宽的方面并不限于此处所示和说明的具体细节和代表性实施例。因此,在没有脱离后附权利要求及其等价物所限定的一般发明概念的实质与范围的情况下,可以实施各种修改。
Claims (11)
1.一种存储器***,包括:
非易失性半导体存储器,其包括多个块,每个块具有多个页,其中数据在块的单位中是可擦除的;
八个输入/输出端子,用于从/到所述存储器***的外部输入/输出命令、地址和数据;以及
就绪/忙端子,用于将所述存储器***的内部状态通知所述存储器***的外部,
所述存储器***被配置为执行如下处理:
在一个写入操作中,经由所述八个输入/输出端子俘获具有八位宽度的第一命令,在俘获所述第一命令之后经由所述八个输入/输出端子俘获具有八位宽度的第一地址,在俘获所述第一命令之后经由所述八个输入/输出端子俘获具有八位宽度的数据,以及在俘获所述第一地址之后经由所述八个输入/输出端子俘获具有八位宽度的第二命令,所述第一命令、所述第一地址、所述数据以及所述第二命令被从所述存储器***的外部提供,
将所述第一地址转换为第二地址,并利用所述第二地址访问所述非易失性半导体存储器,以及
将所述数据写入所述非易失性半导体存储器,而保证通过多个写入操作经由所述八个输入/输出端子俘获的多个数据项目被存储在一页中,所述多个数据项目被从所述存储器***的外部提供。
2.如权利要求1所述的存储器***,其中所述非易失性半导体存储器的一页的数据大小是通过所述存储器***的所述一个写入操作所俘获的数据的大小的最大值的两倍或更多倍。
3.如权利要求1或2所述的存储器***,其中所述第一地址是逻辑地址,所述第二地址是物理地址。
4.如权利要求3所述的存储器***,其中所述存储器***俘获所述第二命令,然后从所述就绪/忙端子输出忙信号,所述忙信号指示所述存储器***忙。
5.如权利要求4所述的存储器***,其中所述第一命令对应于80H。
6.如权利要求4所述的存储器***,其中所述第二命令对应于10H。
7.如权利要求4所述的存储器***,其中所述存储器***将所述数据连同ECC码一起写入所述非易失性半导体存储器,所述ECC码用于校正所述数据中的错误。
8.如权利要求4所述的存储器***,其中所述存储器***管理用于指示所述逻辑地址与所述物理地址之间的对应关系的表格,并当所述数据被写入所述非易失性半导体存储器时反映与所述数据对应的逻辑地址和物理地址。
9.如权利要求4所述的存储器***,其中所述存储器***将所述数据连同与所述数据对应的逻辑地址一起写入所述非易失性半导体存储器。
10.如权利要求4所述的存储器***,其中所述非易失性半导体存储器是NAND快闪存储器。
11.如权利要求4所述的存储器***,其中所述存储器***将多个数据项目写入一个块,而保证在通过所述写入操作经由所述八个输入/输出端子俘获的逻辑地址是连续的情况下,所述多个数据项目的逻辑地址是连续的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP028101/2004 | 2004-02-04 | ||
JP2004028101A JP3892851B2 (ja) | 2004-02-04 | 2004-02-04 | メモリカード及び半導体装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004100118226A Division CN1652253A (zh) | 2004-02-04 | 2004-09-22 | 存储卡和半导体器件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102354299A CN102354299A (zh) | 2012-02-15 |
CN102354299B true CN102354299B (zh) | 2014-07-09 |
Family
ID=34805903
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110241980.0A Expired - Fee Related CN102354299B (zh) | 2004-02-04 | 2004-09-22 | 存储卡和半导体器件 |
CNA2004100118226A Pending CN1652253A (zh) | 2004-02-04 | 2004-09-22 | 存储卡和半导体器件 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004100118226A Pending CN1652253A (zh) | 2004-02-04 | 2004-09-22 | 存储卡和半导体器件 |
Country Status (5)
Country | Link |
---|---|
US (2) | US20050172068A1 (zh) |
JP (1) | JP3892851B2 (zh) |
KR (1) | KR100630980B1 (zh) |
CN (2) | CN102354299B (zh) |
TW (1) | TWI261254B (zh) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4751037B2 (ja) | 2004-06-22 | 2011-08-17 | 株式会社東芝 | メモリカード |
US20070061499A1 (en) * | 2005-09-09 | 2007-03-15 | Rudelic John C | Methods and apparatus for providing a virtual flash device |
JP2007233838A (ja) | 2006-03-02 | 2007-09-13 | Toshiba Corp | メモリシステムの制御方法 |
US20090307427A1 (en) * | 2006-03-31 | 2009-12-10 | Hitachi Ulsi Systems Co., Ltd. | Memory card and method of writing data |
KR100739256B1 (ko) | 2006-05-12 | 2007-07-12 | 주식회사 하이닉스반도체 | 소거 동작시 메모리 셀 블록의 크기를 선택적으로 변경하는기능을 가지는 플래시 메모리 장치 및 그 소거 동작 방법 |
JP2008024411A (ja) * | 2006-07-20 | 2008-02-07 | Toshiba Elevator Co Ltd | エレベータ制御装置 |
JP4945186B2 (ja) * | 2006-07-28 | 2012-06-06 | 株式会社東芝 | 記憶装置およびこれを含むメモリシステム |
US7711889B2 (en) * | 2006-07-31 | 2010-05-04 | Kabushiki Kaisha Toshiba | Nonvolatile memory system, and data read/write method for nonvolatile memory system |
JP4970078B2 (ja) * | 2007-02-21 | 2012-07-04 | 株式会社東芝 | 不揮発性メモリシステム |
JP2008269499A (ja) * | 2007-04-24 | 2008-11-06 | Kyoto Software Research Inc | バッドブロックマークの保存方法 |
JP5412769B2 (ja) * | 2008-09-03 | 2014-02-12 | 富士通株式会社 | フラッシュメモリ制御装置、フラッシュメモリ制御方法及びフラッシュメモリ制御プログラム |
US8316201B2 (en) * | 2008-12-18 | 2012-11-20 | Sandisk Il Ltd. | Methods for executing a command to write data from a source location to a destination location in a memory device |
KR101559843B1 (ko) * | 2009-03-25 | 2015-10-15 | 삼성전자 주식회사 | 저항체를 이용한 비휘발성 메모리 장치 |
US9128632B2 (en) | 2009-07-16 | 2015-09-08 | Netlist, Inc. | Memory module with distributed data buffers and method of operation |
TWI446350B (zh) * | 2009-12-08 | 2014-07-21 | Silicon Motion Inc | 用來減少無法更正的錯誤之方法以及記憶裝置及其控制器 |
US8443263B2 (en) | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
CN105706064B (zh) | 2013-07-27 | 2019-08-27 | 奈特力斯股份有限公司 | 具有本地分别同步的内存模块 |
US9519577B2 (en) | 2013-09-03 | 2016-12-13 | Sandisk Technologies Llc | Method and system for migrating data between flash memory devices |
US9442670B2 (en) | 2013-09-03 | 2016-09-13 | Sandisk Technologies Llc | Method and system for rebalancing data stored in flash memory devices |
US8891303B1 (en) | 2014-05-30 | 2014-11-18 | Sandisk Technologies Inc. | Method and system for dynamic word line based configuration of a three-dimensional memory device |
US9645749B2 (en) * | 2014-05-30 | 2017-05-09 | Sandisk Technologies Llc | Method and system for recharacterizing the storage density of a memory device or a portion thereof |
JP6235423B2 (ja) | 2014-06-30 | 2017-11-22 | 東芝メモリ株式会社 | 半導体装置 |
US9582203B2 (en) | 2014-09-02 | 2017-02-28 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by reducing a range of logical addresses |
US9563362B2 (en) | 2014-09-02 | 2017-02-07 | Sandisk Technologies Llc | Host system and process to reduce declared capacity of a storage device by trimming |
US9582220B2 (en) | 2014-09-02 | 2017-02-28 | Sandisk Technologies Llc | Notification of trigger condition to reduce declared capacity of a storage device in a multi-storage-device storage system |
US9552166B2 (en) | 2014-09-02 | 2017-01-24 | Sandisk Technologies Llc. | Process and apparatus to reduce declared capacity of a storage device by deleting data |
US9524112B2 (en) | 2014-09-02 | 2016-12-20 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by trimming |
US9582193B2 (en) | 2014-09-02 | 2017-02-28 | Sandisk Technologies Llc | Triggering a process to reduce declared capacity of a storage device in a multi-storage-device storage system |
US9524105B2 (en) | 2014-09-02 | 2016-12-20 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by altering an encoding format |
US9652153B2 (en) | 2014-09-02 | 2017-05-16 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by reducing a count of logical addresses |
US9665311B2 (en) | 2014-09-02 | 2017-05-30 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by making specific logical addresses unavailable |
US9582212B2 (en) | 2014-09-02 | 2017-02-28 | Sandisk Technologies Llc | Notification of trigger condition to reduce declared capacity of a storage device |
US9582202B2 (en) | 2014-09-02 | 2017-02-28 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by moving data |
US9563370B2 (en) | 2014-09-02 | 2017-02-07 | Sandisk Technologies Llc | Triggering a process to reduce declared capacity of a storage device |
US9519427B2 (en) | 2014-09-02 | 2016-12-13 | Sandisk Technologies Llc | Triggering, at a host system, a process to reduce declared capacity of a storage device |
JP2016167523A (ja) | 2015-03-09 | 2016-09-15 | 株式会社東芝 | 半導体装置および電子機器 |
US9639282B2 (en) | 2015-05-20 | 2017-05-02 | Sandisk Technologies Llc | Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices |
US9606737B2 (en) | 2015-05-20 | 2017-03-28 | Sandisk Technologies Llc | Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning |
JP2017022241A (ja) | 2015-07-09 | 2017-01-26 | 株式会社東芝 | 半導体装置及び電子機器 |
US9946483B2 (en) | 2015-12-03 | 2018-04-17 | Sandisk Technologies Llc | Efficiently managing unmapped blocks to extend life of solid state drive with low over-provisioning |
US9946473B2 (en) | 2015-12-03 | 2018-04-17 | Sandisk Technologies Llc | Efficiently managing unmapped blocks to extend life of solid state drive |
US10976947B2 (en) * | 2018-10-26 | 2021-04-13 | Pure Storage, Inc. | Dynamically selecting segment heights in a heterogeneous RAID group |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5986933A (en) * | 1996-12-17 | 1999-11-16 | Kabushiki Kaisha Toshiba | Semiconductor memory device having variable number of selected cell pages and subcell arrays |
US6272610B1 (en) * | 1993-03-11 | 2001-08-07 | Hitachi, Ltd. | File memory device using flash memories, and an information processing system using the same |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3178909B2 (ja) * | 1992-01-10 | 2001-06-25 | 株式会社東芝 | 半導体メモリ装置 |
JP3105092B2 (ja) | 1992-10-06 | 2000-10-30 | 株式会社東芝 | 半導体メモリ装置 |
JP3183993B2 (ja) * | 1993-03-31 | 2001-07-09 | 株式会社東芝 | ディスク制御システム |
JPH07160439A (ja) * | 1993-12-03 | 1995-06-23 | Matsushita Electric Ind Co Ltd | データ記憶装置及び主制御装置 |
US5603001A (en) * | 1994-05-09 | 1997-02-11 | Kabushiki Kaisha Toshiba | Semiconductor disk system having a plurality of flash memories |
JPH09319645A (ja) * | 1996-05-24 | 1997-12-12 | Nec Corp | 不揮発性半導体記憶装置 |
JP4079506B2 (ja) * | 1997-08-08 | 2008-04-23 | 株式会社東芝 | 不揮発性半導体メモリシステムの制御方法 |
US6854000B2 (en) * | 1997-12-27 | 2005-02-08 | Canon Kabushiki Kaisha | Image forming apparatus and control method for the same |
JP2000076117A (ja) * | 1998-08-31 | 2000-03-14 | Kano Densan Hongkong Yugenkoshi | 電子機器及びその制御方法及び記憶媒体 |
JP3797649B2 (ja) * | 1999-05-31 | 2006-07-19 | シャープ株式会社 | 不揮発性半導体記憶装置 |
JP2001167586A (ja) * | 1999-12-08 | 2001-06-22 | Toshiba Corp | 不揮発性半導体メモリ装置 |
JP3627915B2 (ja) | 2000-05-30 | 2005-03-09 | シャープ株式会社 | ブートブロックフラッシュメモリ制御回路、およびそれを備えたicメモリカードと半導体記憶装置、並びにブートブロックフラッシュメモリの消去方法 |
KR100422445B1 (ko) * | 2001-06-01 | 2004-03-12 | 삼성전자주식회사 | 선택적 배속동작 모드를 갖는 불휘발성 반도체 메모리 장치 |
JP2002133877A (ja) | 2001-09-03 | 2002-05-10 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2003122630A (ja) | 2001-10-12 | 2003-04-25 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
KR100466980B1 (ko) * | 2002-01-15 | 2005-01-24 | 삼성전자주식회사 | 낸드 플래시 메모리 장치 |
JP4034971B2 (ja) * | 2002-01-21 | 2008-01-16 | 富士通株式会社 | メモリコントローラおよびメモリシステム装置 |
US6906961B2 (en) * | 2003-06-24 | 2005-06-14 | Micron Technology, Inc. | Erase block data splitting |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
JP4751037B2 (ja) * | 2004-06-22 | 2011-08-17 | 株式会社東芝 | メモリカード |
JP4406339B2 (ja) * | 2004-09-21 | 2010-01-27 | 株式会社東芝 | コントローラ、メモリカード及びその制御方法 |
-
2004
- 2004-02-04 JP JP2004028101A patent/JP3892851B2/ja not_active Expired - Fee Related
- 2004-09-03 US US10/933,222 patent/US20050172068A1/en not_active Abandoned
- 2004-09-13 TW TW093127686A patent/TWI261254B/zh not_active IP Right Cessation
- 2004-09-21 KR KR1020040075362A patent/KR100630980B1/ko not_active IP Right Cessation
- 2004-09-22 CN CN201110241980.0A patent/CN102354299B/zh not_active Expired - Fee Related
- 2004-09-22 CN CNA2004100118226A patent/CN1652253A/zh active Pending
-
2007
- 2007-11-26 US US11/945,187 patent/US7890732B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6272610B1 (en) * | 1993-03-11 | 2001-08-07 | Hitachi, Ltd. | File memory device using flash memories, and an information processing system using the same |
US5986933A (en) * | 1996-12-17 | 1999-11-16 | Kabushiki Kaisha Toshiba | Semiconductor memory device having variable number of selected cell pages and subcell arrays |
Non-Patent Citations (1)
Title |
---|
JP特开平7-160439A 1995.06.23 |
Also Published As
Publication number | Publication date |
---|---|
KR20050079210A (ko) | 2005-08-09 |
CN1652253A (zh) | 2005-08-10 |
US20080082737A1 (en) | 2008-04-03 |
JP3892851B2 (ja) | 2007-03-14 |
US7890732B2 (en) | 2011-02-15 |
TWI261254B (en) | 2006-09-01 |
JP2005222228A (ja) | 2005-08-18 |
KR100630980B1 (ko) | 2006-10-04 |
CN102354299A (zh) | 2012-02-15 |
US20050172068A1 (en) | 2005-08-04 |
TW200527433A (en) | 2005-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102354299B (zh) | 存储卡和半导体器件 | |
US7392343B2 (en) | Memory card having a storage cell and method of controlling the same | |
US8386699B2 (en) | Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same | |
CN101384984B (zh) | 整合有多个闪存单元的便携式数据存储装置 | |
US7404031B2 (en) | Memory card, nonvolatile semiconductor memory, and method of controlling semiconductor memory | |
US8041884B2 (en) | Controller for non-volatile memories and methods of operating the memory controller | |
CN100538659C (zh) | 非易失性存储器***内有效允许失序写处理的方法和装置 | |
US7937523B2 (en) | Memory system with nonvolatile semiconductor memory | |
CN101346771B (zh) | 用于传统主机的方法和存储器*** | |
US8437190B2 (en) | Interleaved flash storage system and method | |
CN109977034B (zh) | 数据储存装置以及非挥发式存储器操作方法 | |
US7814264B2 (en) | Memory card, semiconductor device, and method of controlling semiconductor memory | |
US7245539B2 (en) | Memory card, semiconductor device, and method of controlling semiconductor memory | |
US7366042B2 (en) | Defective column(s) in a memory device/card is/are skipped while serial data programming is performed | |
CN101946286A (zh) | 用于模拟每单元单个位的nand闪存的每单元多个位的nand闪存的控制器 | |
CN106598479A (zh) | 闪速存储器的故障安全擦除的方法和装置 | |
CN101727978A (zh) | 在电可擦和可编程的非易失性存储器中写入和读取数据的方法 | |
US7657697B2 (en) | Method of controlling a semiconductor memory device applied to a memory card | |
KR100757128B1 (ko) | 플래시 메모리를 이용한 메모리 카드 및 그 제어 방법 | |
CN102549551A (zh) | 操作仿真电可擦除(eee)存储器 | |
CN110955383B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
CN114546292A (zh) | 一种nand flash坏块管理方法及*** | |
CN101751982B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140709 Termination date: 20170922 |