CN100585570C - 具有存储元件的存储卡及其控制方法 - Google Patents
具有存储元件的存储卡及其控制方法 Download PDFInfo
- Publication number
- CN100585570C CN100585570C CN200510109973A CN200510109973A CN100585570C CN 100585570 C CN100585570 C CN 100585570C CN 200510109973 A CN200510109973 A CN 200510109973A CN 200510109973 A CN200510109973 A CN 200510109973A CN 100585570 C CN100585570 C CN 100585570C
- Authority
- CN
- China
- Prior art keywords
- mentioned
- order
- address
- main frame
- imported
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供具有存储元件的存储卡及其控制方法。控制器具有主接口单元及处理电路。主接口单元,接收从主机针对第1非易失性半导体存储器输出的命令序列。上述处理电路,对从上述主机输出的针对上述第1非易失性半导体存储器的上述命令序列进行处理,并依照上述命令序列针对第2非易失性半导体存储器的数据的写入、读出及删除的动作进行控制。
Description
相关申请相互参考
本申请要求承认在先的日本专利申请No.2004-273895的优先权,其登记日期为2004年9月21日,此处援引其整个内容作为参考。
技术领域
本发明涉及控制器、具有存储元件的存储卡及其控制方法,比如,涉及通过来自主计算机的存取(access)进行数据的写入、读出及删除的存储卡、装载于存储卡上的控制器以及存储卡的控制方法。
背景技术
近年,在个人计算机、PDA、相机、便携电话等各种便携式电子机器中,多使用可拆式存储设备之一的存储卡。在存储卡之中,有不装载控制器的NAND型只装载闪存的存储卡。在现有的这种NAND型闪存中,通常,删除时的删除块的大小较小,比如,被定为16kB(千字节)。
但是,现在,对于装载在存储卡上的NAND型闪存,正在使用容量大而廉价的在删除时删除块大小较大的NAND型闪存。在这种NAND型闪存中,比如,删除块容量定为256kB。因此,主机在设想是删除块大小较小的NAND型闪存对存储卡进行存取时,装载删除块大小较大的NAND型闪存的存储卡不能正常地响应而成为误动作的原因。另外,删除块的大小指的是在删除时可以一齐删除的NAND型闪存的数据大小。
另外,在日本专利特开2002-259322号公报中,记载有在具有多种存储芯片及控制这些存储芯片的存储器控制器的存储器系统中,可以利用一个存储器控制器存取多种存储芯片的构成的技术。
发明内容
根据本发明,提供一种控制器,其特征在于包括:主接口单元,接收从主机输出的针对第1非易失性半导体存储器的命令序列;以及处理电路,对从上述主机输出的针对上述第1非易失性半导体存储器的上述命令序列进行处理,并依照上述命令序列控制针对第2非易失性半导体存储器的数据的写入、读出及删除的动作,上述命令序列由命令及地址的输入定时所规定,同时从上述主机输出的上述命令序列具有的上述地址包含物理地址。
根据本发明,提供一种安装于主机上接受从上述主机输出的针对第1非易失性半导体存储器的命令序列的存储卡,其特征在于包括:第2非易失性半导体存储器,进行数据的写入、读出及删除;以及控制器,装载有存储器接口单元、主接口单元、缓冲器、CPU、ROM以及RAM,对从上述主机输出的针对上述第1非易失性半导体存储器的上述命令序列进行处理,并依照全体设备命令序列控制针对上述第2非易失性半导体存储器的数据的写入、读出及删除的动作,上述命令序列由命令及地址的输入定时所规定,同时从上述主机输出的上述命令序列具有的上述地址包含物理地址。
根据本发明,提供一种对装载于主机中从上述主机进行存取的存储卡的控制方法,其特征在于包括:判定从上述主机输入的命令是否是写入、读出、删除、ID读、状态读的某一个;在上述命令是写入、读出、删除中的某一个时,判定是否输入了预定数目的地址;在输入了预定数目的上述地址时,执行写入、读出、删除中的某一个;在未输入预定数目的上述地址时,判定是否从上述主机输入了命令;并且在未输入上述指令时,返回到判定是否输入了上述预定数目的上述地址,在上述命令是ID读、状态读中的某一个时,执行ID读、状态读中的某一个。
根据本发明,提供一种对装载于主机中从上述主机进行存取的存储卡的控制方法,其特征在于包括:判定从上述主机输入的命令;在判定上述命令中,在判定上述命令是写入及读出中的某一个时,判定是否输入了第1预定数目的地址;在输入了上述第1预定数目的上述地址时,执行上述写入及读出中的某一个;在未输入上述第1预定数目的上述地址时,判定是否从上述主机输入命令;在输入了上述命令时,返回到判定上述命令;在未输入上述命令时,返回到判定是否输入了上述第1预定数目的上述地址;在判定上述命令中,在上述命令是删除时,判定是否输入了第2预定数目的地址;在输入了上述第2预定数目的上述地址时,执行上述删除;在判定未输入上述第2预定数目的上述地址时,判定是否从上述主机输入了命令;在输入了上述命令时,返回到判定上述命令;在未输入上述命令时,返回到判定是否输入了上述第2预定数目的上述地址;以及在判定上述命令中,在上述命令是ID读及状态读中的某一个时,执行上述ID读、状态读中的某一个。
从某一侧面观察的本发明的控制器的构成包括:接收从主机针对第1非易失性半导体存储器输出的命令序列的主接口单元;以及对从上述主机输出的针对上述第1非易失性半导体存储器的上述命令序列进行处理,并依照上述命令序列针对第2非易失性半导体存储器的数据的写入、读出及删除的动作进行控制的处理电路。
从某一侧面观察的本发明的存储卡的控制方法包括:在装载在主机中并从上述主机存取的存储卡的控制方法中,从上述主机输入的命令,判定是否是写入、读出、删除、ID读、状态读的某一个;在上述命令是写入、读出、删除中的某一个时,判定是否输入预定数目的地址;在输入了预定数目的上述地址时,执行写入、读出、删除中的某一个;而在未输入预定数目的上述地址时,判定是否从上述主机输入命令;并且在上述命令是ID读、状态读中的某一个时,执行ID读、状态读中的某一个。
附图说明
图1为示出本发明的实施方式存储卡的结构的框图。
图2为示出本实施方式的存储卡的外形和引脚配置的平面图。
图3为示出本实施方式的存储卡的引脚分配的图表。
图4为示出处理输入到本实施方式的存储卡的命令序列的控制步骤的流程图。
图5为示出输入到本实施方式的存储卡的ID读命令的命令序列的一个例子的时序图。
图6为示出输入到本实施方式的存储卡的ID读命令的命令序列的另一个例子的时序图。
图7为示出主机设想的闪存和存储卡内的NAND型闪存的数据配置的示图。
图8为示出主机侧系统及存储卡中的各通信层的示图。
图9A及9B为示出从主机发送的命令的格式的示图。
图10为示出主机设想的块写入操作和存储卡实际执行的写入处理的对比的示图。
图11为示出存储卡内的NAND型闪存的块格式的一个例子的示图。
图12为示出存储卡内的NAND型闪存的块格式的另一个例子的示图。
图13为示出在针对本实施方式的存储卡主机进行写入之际,对存储卡的I/O引脚和R/-B引脚的输入输出的信号例的时序图。
图14为示出在针对本实施方式的存储卡内的NAND型闪存控制器进行写入之际,对NAND型闪存的I/O引脚和R/-B引脚输入输出的信号例的时序图。
具体实施方式
下面参照附图对本发明的实施方式进行说明。在进行说明之际,对于全部附图,对共同的部分赋予共同的参照符号。
图1为示出本发明的实施方式存储卡的结构的框图。
存储卡1,如图1所示,包含NAND型闪存3及控制器4。在控制器4中装载有CPU(中央处理单元)8及ROM(只读存储器)9等的功能块。各设备的详细情况在后面叙述。另外,NAND型闪存3,既可以是在1个存储单元中存储1位信息的2值存储器,也可以是在1个存储单元中存储多于1位(比如2位)信息的多值存储器。另外此处,是以NAND型存储卡为例进行说明,但并不限定于此,也可以适用于NOR型存储器等其他非易失性半导体存储器。
另外,图中虽然未示出,但NAND型闪存3及控制器4,既可以配置在PCB(印刷电路板)基板上,也可以在同一LSI(大规模集成电路)内形成。
在以下的说明中使用的用语“逻辑块地址”、“物理块地址”,分别表示块本身的逻辑地址及物理地址。另外,虽然“逻辑地址”、“物理地址”主要表示块本身的逻辑地址、物理地址,但也有表示与比块单位更细的分辨率的单位相当的地址的情况。
主机20,具有用来对连接的存储卡1进行存取的硬件及软件(系统)。此主机20构为管理存储卡内部的物理状态(在何处的物理地址包含第几号的逻辑扇区地址数据或何处的块是删除状态)和直接控制存储卡1的NAND型闪存3。
另外,主机20,是以使用删除时的删除块大小定为16kB的NAND型闪存为前提,以16kB单位进行逻辑地址、物理地址的分配,在多数情况下,对大小为16kB的逻辑地址顺序进行写存取或读存取(发出相应的命令)。
存储卡1,在与主机20相连接时,接受供电而动作,进行与来自主机20的存取相应的处理。此存储卡1,如前所述,具有NAND型闪存3及控制器4。
NAND型闪存3,是删除时的删除块大小(删除单位的块大小)定为256kB的非易失性存储器,比如,以16kB单位进行数据的写入/读出。此NAND型闪存3,比如,是使用0.09μm加工技术制作的,就是说,NAND型闪存3的设计规范为不到0.1μm。
控制器4,除了上述的CPU8及ROM9之外,还装载有存储器接口单元5、主接口单元6、缓冲器7以及RAM(随机存储器)10。
存储器接口单元5,是进行控制器4和NAND型闪存3之间的接口处理的单元。主接口单元6,是进行控制器4和主机20之间的接口处理的单元。
图2为示出本实施方式的存储卡的引脚配置的平面图,是从形成引脚的面观察的示图。主接口单元6具有的引脚的配置如图2所示。在图3中示出该引脚分配,即引脚编号和分配给各该引脚的信号。分配给引脚1、9的是基准电压,比如,对于接地电压GND,分配给引脚18的是电源电压Vcc。分配给引脚2用来把存储卡1的内部动作状态通知给主机20的就绪/忙信号R/-B(Ready/Busy)。在写入、读出以及删除等动作在内部执行期间,从引脚2输出忙信号,而在动作完成时输出就绪信号。分配给引脚3使数据输出的可读信号-RE(ReadEnable),而分配给引脚4使存储卡1成为动作模式的启用卡信号-CE(Card Enable)。分配给引脚5用来控制命令的引入的启用命令闩锁信号CLE(Command Latch Enable),而分配给引脚6控制地址以及输入数据的引入的地址闩锁启用信号ALE(Address Latch Enable)。分配给引脚7用来将数据写入到存储卡1的可写信号-WE(WriteEnable),而分配给引脚8用来强制使写入以及删除禁止的写保护信号-WP(Write Protect)。此外,分配给引脚10、11、...、17用来输入输出命令、地址以及数据的引脚D0(Data0)、D1(Data1)、...、D7(Data7)。这样,本实施方式的存储卡1,具有与NAND型闪存3的引脚结构相对应的引脚结构,主机20可利用针对NAND型闪存的命令序列进行对存储卡1的存取。另外,所谓命令序列,指的是输入命令和地址的一系列的顺序(输入定时)。另外,在图3中,“S”表示电源电压,“I”表示对存储卡的输入,“O”表示自存储卡的输出,此外,“I/O”表示对存储卡的输入输出。另外,附加到引脚名(信号名)的前头的“-”是LowTrue信号,就是表示指示是在“L”时激活的信号。
缓冲器7,是在将从主机20发送来的数据写入到NAND型闪存3之际,将一定量的数据(比如,大小为1页)进行临时存储,或在将从NAND型闪存3读出的数据发送到主机20之际,将一定量的数据进行临时存储的设备。
CPU8,是管理整个存储卡1的动作的设备。ROM9,是存储由CPU8使用的控制程序等的存储器。RAM10,用作CPU8的作业区域,是存储控制程序及各种表的易失性存储器。CPU8,比如,在存储卡1接受供电之际,通过将存放于ROM9中的固件(控制程序)装入到RAM10中而执行预定的处理,在RAM10中生成各种表,从主机20接受写入命令、读出命令、删除命令而对NAND型闪存3中的该相应区域执行存取,或控制通过缓冲器7的数据传送处理。
图4为由上述固件(控制程序)执行的控制的一个例子,示出处理从主机20输入的命令序列的控制步骤的流程图。
首先,CPU8,判定是否从主机20输入了命令(步骤S1)。接着,在输入了命令时,判定该命令是否是写入命令或读出命令(步骤S2)。另外,在步骤S1中判定为未输入命令时,就再次返回到步骤S1。
之后,输入的命令在判定为是写入命令或读出命令时,就判定地址是否输入预定的字节数,此处为4字节(步骤S3)。在地址输入4字节时,进行写入或读出处理(步骤S4),并返回到步骤S1。另一方面,在步骤S3中,在预定的时间内未输入4字节时,就再次判定是否有命令输入(步骤S5)。此处,在输入了命令时,就返回到步骤S2,重复步骤S2以下的处理。另一方面,在未输入命令时,就返回到步骤S3,重复步骤S3以下的处理。
另外,在步骤S2中,在判定为输入的命令不是写入命令或读出命令时,就判定命令是否是删除命令(步骤S6)。在判定为输入的命令是删除命令时,就判定地址是否输入了预定的字节数,此处为3字节(步骤S7)。在地址输入3字节时,进行删除处理(步骤S8),并返回到步骤S1。另一方面,在步骤S7中,在预定的时间内未输入3字节时,就再次判定是否有命令输入(步骤S9)。在输入了命令时,就返回到步骤S2,重复步骤S2以下的处理。另一方面,在未输入命令时,就返回到步骤S7,重复步骤S7以下的处理。
另外,在步骤S6中,在判定为输入的命令不是删除命令时,就判定命令是否是ID读命令或状态读命令(步骤S10)。在判定为输入的命令是ID读命令或状态读命令时,就进行ID读或状态读的处理(步骤S11),并返回到步骤S1。另一方面,在判定为输入的命令不是ID读命令或状态读命令时,就不进行处理,原封不动地返回到步骤S1。
图5及图6为包含从主机20输入到控制器4的ID读命令的命令序列的时序图。假定在图5中示出的命令序列是由存储卡1的规格说明书定义的ID读命令的命令序列时,有主机通过图6所示的命令序列执行ID读。
在图5所示的命令序列中,在如下的定时输入输出命令、地址及数据。
在启用命令闩锁信号CLE为“高电平(以下写作H)”,在启用卡信号-CE为“低电平(以下写作L)”以及地址闩锁启用信号ALE为“L”时,在可写信号-WE的上升沿ID读命令COM从引脚D0~D7引入到控制器4。之后,在启用命令闩锁信号CLE为“L”,启用卡信号-CE为“L”以及地址闩锁启用信号ALE为“H”时,在可写信号-WE的上升沿地址“00(16进制数)”从引脚D0~D7引入到控制器4。此外,启用命令闩锁信号CLE为“L”,在启用卡信号-CE为“L”以及地址闩锁启用信号ALE为“L”时,在可读信号-RE的上升沿从引脚D0~D7将数据0~数据3引入到主机20。
另外,在图6所示的命令序列中,在以下所示的定时,进行命令、地址及数据的输入输出。
在启用命令闩锁信号CLE为“H”,在启用卡信号-CE为“L”以及地址闩锁启用信号ALE为“L”时,在启用写信号-WE的上升沿ID读命令COM从引脚D0~D7引入到控制器4。之后,在启用命令闩锁信号CLE为“L”,启用卡信号-CE为“L”以及地址闩锁启用信号ALE为“H”时,在可写信号-WE的上升沿地址adr1~adr3从引脚D0~D7引入到控制器4。此外,在启用命令闩锁信号CLE为“L”,启用卡信号-CE为“L”以及地址闩锁启用信号ALE为“L”时,在可读信号-RE的上升沿从引脚D0~D7将数据0~数据3引入到主机20。
如图6所示,在ID读命令的命令序列中,应忽视地址adr1~adr3的输入。然而,在不具有用于执行图4所示的控制步骤的控制程序的现有的存储卡中,由于与在写入时和读出时一样从主机20发出4个周期的地址,控制器内的序列发生器将本来应忽视的地址adr1~adr3的输入解释为在写入时及读出时的地址输入而有可能发生误动作。
于是,在本实施方式的存储卡1中,使用图4所示的控制步骤处理图6所示的命令序列。结果,处理按照步骤S1、S2、S6、S10、S11的顺序进行,执行ID读的处理。就是说,即使是输入地址adr1~adr3,在写入时和读出时也不会误动作,可以正常地执行ID读的处理。
另外,此处示出的是在ID读命令输入后,输入4个周期的地址的例子,但并不限定于此,即使是在不从主机20输入依据规格说明书的命令序列的其他场合,也可以不发生误动作而执行本来的处理。另外,示出了由固件(控制程序)执行图4所示的控制步骤的例子,但也可以由在控制器4内形成的硬件(序列发生器)执行。
图7为示出主机20设想的闪存和实际使用的闪存(存储卡1内的NAND型闪存3)的数据配置的差别的示图。
在主机20设想的闪存中,成为各页具有528B(字节)(512B部分的数据存储部+16B部分的冗余部),32页部分的一个删除单位(即16kB+0.5kB(此处k为1024))。下面,有时将装有这种闪存的卡称为“小块卡”。
另一方面,在实际使用的NAND型闪存3中,各页具有2112B(比如,512B部分的数据存储部×4+10B部分的冗余部×4+24B部分的管理数据存储部),128页部分为一个删除单位(即256kB+8kB)。以下,有时将装有这种NAND型闪存3的卡称为“大块卡”。另外,在以下的说明中,为了方便起见,将小块卡的删除单位称为16kB,将大块卡的删除单位称为256kB。
另外,主机20设想的闪存和实际使用的NAND型闪存3,分别具有用来对闪存进行数据输入输出的页缓冲器。主机20设想的闪存具有的页缓冲器的存储容量为528kB(512kB+16kB)。另一方面,实际使用的NAND型闪存3具有的页缓冲器的存储容量为2112B(2048B+64B)。在数据写入等之际,各页缓冲器,以与本身的存储容量相当的一页部分的单位执行对闪存的数据输入输出处理。
在图7示出的示例中,示出的是实际使用的闪存3的删除块大小为主机20设想的闪存的删除块大小的16倍的情况,但本发明并不限定于此,只要大致是整数倍,也可以是其他倍数的构成。
为了将大块卡制作成为实用上有效的制品,希望是将图7所示的闪存3的存储容量为大于等于1Gb。在闪存3的容量,比如,为1Gb的情况,256kB块(删除单位)的数目为512个。另外,在图7中示出的例子是删除单位为256kB块的场合,但使删除单位,比如,构筑为128kB块在实用上也有效。在这种情况下,128kB块的数目为1024个。
另外,在图7所示的示例中,示出的是实际使用的闪存3的删除块大小,大于主机20设想的闪存的删除块大小的情况,但本发明并不限定于此,也可以是实际使用的闪存3的删除块大小,小于主机20设想的闪存的删除块大小的构成。
图8为示出主机20侧系统及存储卡1(大块卡)中的各通信层的示图。
主机20侧的系统,具有应用软件21;文件系统22;驱动程序软件23以及小块卡物理存取层24。另一方面,存储卡1(大块卡),具有小块卡物理存取层11;小块卡物理/小块卡逻辑变换层12;小块卡逻辑/大块卡物理变换层13以及大块卡物理存取层。
比如,在主机20侧的应用软件21向文件系统22要求进行文件写入时,文件系统22,指示驱动程序软件23基于小块卡的逻辑块地址进行顺序扇区写入。接收到这一指示时,驱动程序软件23,实现基于小块卡的逻辑块地址的每个16kByte块的顺序写入,进行逻辑/物理块变换,通过小块卡物理存取层24,对大块卡发出利用小块卡的物理块地址的随机的写入命令,进行数据传送。
另外,在写存取中,无论是在小块卡的场合,还是在大块卡的场合,在协议方面,都是以(1)命令、(2)页地址(行地址)、(3)列地址、(4)数据、(5)程序确认命令这样的顺序进行信息的收发为前提。
大块卡侧的小块卡物理存取层11,在接收到来自主机20的利用小块卡的物理块地址的写入命令时,除了物理块地址及数据之外,取得在其附带的附带数据中包含的逻辑块地址。
小块卡物理/小块卡逻辑变换层12,具有用于在数据读出等之际进行从小块卡的物理块地址(与16kByte块大小相对应)到小块卡的逻辑块地址(与16kByte块大小相对应)的变换处理的第1表。变换层12,在小块卡物理存取层11接受写入命令取得小块卡的逻辑块地址时,使这一点反映在上述第1表中。关于物理块地址也反映在上述第1表中。
小块卡逻辑/大块卡物理变换层13,具有用于在数据读出等之际进行从小块卡的逻辑块地址(与顺序的16kByte块×16个相对应)到大块卡的物理块地址(与256kByte物理块相对应)的变换处理的第2表。变换层12,在小块卡物理存取层11接受写入命令取得小块卡的逻辑块地址时,使这一点反映在上述第2表中。
大块卡物理存取层14,基于在小块卡物理存取层11接受写入命令取得小块卡的逻辑块地址时,确定闪存3内部的数据配置,在256kByte物理块内以2kByte(1页)为单位顺序地写入16kByte大小的数据。另外,大块卡物理存取层14,将取得的小块卡的逻辑块地址及物理块地址存放于闪存3内部的管理数据区内的规定区域。
这样,因为主机20发出基于小块卡的物理块地址的命令,所以在大块卡侧,通过管理使得可以了解与小块卡的物理块地址相对应的数据是存在于哪一个256kByte物理块中。具体言之,在针对每个16kByte块管理小块卡的逻辑/物理块地址的对应关系的同时,通过管理可以了解与小块卡的连续的256kByte块部分的逻辑块地址相对应的数据是存放在大块卡内的哪一个256kByte物理块中。
图9A及9B为示出从主机20侧发送来的命令的格式的图。
从主机20侧发送来的命令包(分组),如图9A所示,包含命令种类信息(此处为“写入”)、地址(物理块地址)、数据(内容等的实数据及附带数据(512Byte+16Byte)这样的各种信息。
在这种格式的包中,如图9所示,在附带数据16Byte中的预定位置配置小块卡的“逻辑块地址”(与成为存取对象的16kByte块相对应的逻辑地址)。大块卡,除了取得命令种类信息、物理块地址、数据之外,特别还取得上述“逻辑块地址”。另外,此“逻辑块地址”,对读出命令的场合不附加。
图10为示出主机20侧设想的块写入操作和存储卡1(大块卡)侧实际执行的写入处理的对比图。
在主机20侧(同图的左侧),在基于小块卡的逻辑地址的16kByte块单位的顺序写入操作发生时,进行利用小块卡的物理块地址的16kByte块单位的随机写入操作。
另一方面,在大块卡侧(同图的右侧),在接收到来自主机20侧的写入命令的场合,将基于小块卡的逻辑块地址的16kByte块单位的数据顺序地写入到闪存3内。
如上所述,主机20,进行利用小块的物理地址的16Byte的单位的随机写入操作。在这种随机写入操作中,一般,大量发生的是用来只改写大块(256kByte)的一部分的处理。在NAND型闪存中,由于只以块单位进行删除,在只对块的一部分进行改写的场合,必须将改写的新数据写入到已经删除的新块,从包含改写为新数据的旧数据的旧块,将未改写的剩余的数据复制到新块中。这样,只对块的一部分进行改写的处理,由于伴随有对不改写的数据的复制动作(牵连数据复制),在大量发生只对块的一部分进行改写处理时,开销将会非常增大。于是,在本实施方式中,按照从主机20侧得到的逻辑地址的顺序,通过在大块卡侧再次分配物理地址,可以降低只对块的一部分进行写入处理的发生而抑制开销的增大。
图11为示出大块卡内的NAND型闪存3的块格式(作为删除单位的256kByte物理块部分)的一例的示图。
在大块卡中,在作为删除单位的256kByte物理块之中,包含16个用来对与作为主机20侧管理的单位的16kByte相当的数据进行写入的块(以下称其为主管理块)。在数据写入之际,以小块卡的逻辑块地址顺序,配置各个数据。
各主管理块,由8个页构成。各页,在包含4个512Byte数据区的同时,包含与各数据区相对应的10ByteECC区。另外,在页中的最后的512Byte数据区(第4个512Byte数据区)的后面,也设置有24Byte的管理数据区。因此,页中的最后的10ByteECC区,成为与第4个512Byte数据区和24Byte管理数据区两者相对应的结构。
在作为删除单位的256kByte物理块中包含的128个24Byte管理数据区之中,比如,在最后的24Byte管理数据区中,汇总存放与从主机20侧发送来的命令中取得的物理块地址相当的地址信息以及与逻辑块地址相当的地址信息。这些地址信息,在生成在图8中说明的小块卡物理/小块卡逻辑变换层12具有的第1表和小块卡逻辑/大块卡物理变换层13具有的第2表之际使用。
图12为示出大块卡内的NAND型闪存3的块格式的另一个例子的图。
图12示出的块格式,与图1示出的块格式相比,各页的ECCO、ECC1、ECC2区的配置位置不同。但是,各页的用户数据的存储容量,在图11示出的块格式中与在图12示出的块格式中相同。就是说,在图11示出的块格式中,在各页中设置2048Byte(512Byte+512Byte+512Byte+512Byte)的存储区,在图12示出的块格式中,在各页中设置2048Byte(518Byte+518Byte+518Byte+494Byte)的存储区。下面,以采用图12所示的块格式的情况为前提进行说明。
图13为示出在针对本实施方式的存储卡1主机20进行写入之际,对存储卡1的I/O引脚(引脚10~引脚17)和R/-B引脚(引脚2)的输入输出信号例的时序图。
主机20,在假设存储卡1是具有16kByte的删除块大小的非易失性存储器的情况下,对存储卡进行控制。比如,在对存储卡1进行写入之际,主机20,向I/O引脚(引脚10~引脚17)输入串行数据输入命令“80H(H表示是16进制)”。之后,主机20,将列地址“C/A”及页地址“P/A”输入到I/O引脚。另外,此处的列地址“C/A”及页地址“P/A”是主机20针对存储卡1设想的假想物理地址空间中的列地址及页地址。
进而,主机20,将写入数据,向各个I/O引脚(引脚10~引脚17)输入528次。具体言之,在主机20对输入到可写引脚的输入信号进行528次脉冲计时的同时,分别将528位(全部I/O引脚合计为528字节)的数据顺序移入到各个I/O引脚。在数据移入完成后,主机20,向I/O引脚输入程序命令“10H”。,存储卡1对此作出响应,对其R/-B引脚输出“L”信号,表示存储卡1是忙状态。其后,在预定期间后,通过对R/-B引脚输出“H”信号表示存储卡处于就绪状态。
然而,图13的R/-B引脚的状态,归根到底是表示对于主机20而言存储卡1是处于何种状态。就是说,在图13中,对程序命令“10H”的输入进行响应时,即使是R/-B引脚表示忙状态(即输出“L”),在内部对NAND型闪存3的写入动作(即从页缓冲器向存储单元阵列的数据传送)实际上也不一定正在进行。另外,即使是R/-B引脚回复到就绪状态,在内部对NAND型闪存3的写入动作实际上也不一定完成。
图14为示出在针对本实施方式的存储卡1内的NAND型闪存3,存储卡1内的控制器4进行写入之际,对NAND型闪存3的I/O引脚1~8和R/-B引脚输入输出的信号例的时序图。另外,NAND型闪存3及存储器接口单元5,与具有图3所示的主接口单元6的引脚一样,具有命令、地址及数据输入输出的I/O引脚1~8、输出就绪/忙信号的R/-B引脚、输入使数据输出的可读信号的可读信号-RE。此外,还具有输入使NAND型闪存3变成动作模式的启用芯片信号的-CE引脚、用于控制命令的引入的启用命令闩锁信号的CLE引脚、用于控制地址以及输入数据的引入的地址闩锁启用信号的ALE引脚。此外,还具有输入用于将数据写入到NAND型闪存3的可写信号的-WE引脚、输入用于强制禁止写入以及删除的写保护信号的-WP引脚。
控制器4,识别NAND型闪存3是具有256kByte的删除块大小的非易失性存储器。比如,在对NAND型闪存3进行写入之际,控制器4,向I/O引脚1~8输入串行数据输入命令“80H(H表示是16进制)”。之后,控制器4,将列地址“C/A”及页地址“P/A”输入到I/O引脚1~8。另外,此处的列地址“C/A”及页地址“P/A”是控制器4针对存储卡1设想的实物理地址空间中的列地址及页地址。所以,不一定与图13中的列地址“C/A”及页地址“P/A”一致。
进而,控制器4,将写入数据,向各个I/O引脚1~8输入2112次。具体言之,在控制器4对输入到可写引脚的输入信号进行2112次脉冲计时的同时,分别将2112位(全部I/O引脚合计为2112字节)的数据顺序移入到各个I/O引脚。在数据移入完成时,控制器4,向I/O引脚1~8输入程序命令“10H”。存储卡1对此作出响应,对其R/-B引脚输出“L”信号,表示存储卡1是忙状态。其后,在预定期间后,通过对R/-B引脚输出“H”信号表示存储卡成为就绪状态。图14的R/-B引脚的状态,表示对于控制器4,NAND型闪存3实际上处于何种状态。
另外,在上述图13及图14中,分别在一个周期中示出列地址“C/A”及页地址“P/A”的输入,但也有依照存储卡1的容量或NAND型闪存3的容量可以适宜地大于等于2个周期。
根据本发明的实施方式的存储卡及其控制方法,对于存储卡装载的NAND型闪存的规格未明示,且对于以不禁止的指令序列发出命令的主机,可以正常地进行响应。就是说,在本发明的实施方式中,对于以与装载于存储卡中的非易失性半导体存储器规格不符合的指令序列发出命令的主机,可以提供可能进行正常响应的控制器、存储卡及其控制方法。
另外,上述的实施方式并非唯一的实施方式,通过对上述结构进行改变或增加各种结构,可以形成种种的实施方式。
其他优点和改型对本专业人士是显而易见的。因此,在更广方面的本发明不限于上述的具体细节和代表性的具体实施例。所以,在不脱离本发明的权利要求及其等效内容的精神和范围的条件下可以实施各种改型。
Claims (13)
1.一种控制器,其特征在于包括:
主接口单元,接收从主机输出的针对第1非易失性半导体存储器的命令序列;以及
处理电路,对从上述主机输出的针对上述第1非易失性半导体存储器的上述命令序列进行处理,并依照上述命令序列控制针对第2非易失性半导体存储器的数据的写入、读出及删除的动作,
上述命令序列由命令及地址的输入定时所规定,同时从上述主机输出的上述命令序列具有的上述地址包含物理地址。
2.如权利要求1所述的控制器,其特征在于:
从上述主机输出的上述命令序列,不遵照对上述第2非易失性半导体存储器定义的命令序列的规格。
3.如权利要求1所述的控制器,其特征在于:
上述第1非易失性半导体存储器具有的第1删除块大小与上述第2非易失性半导体存储器具有的第2删除块大小不同,上述删除块大小指的是在删除时一齐删除的数据大小。
4.如权利要求1所述的控制器,其特征在于:
上述第1非易失性半导体存储器及上述第2非易失性半导体存储器,包含NAND型闪存。
5.一种安装于主机上接受从上述主机输出的针对第1非易失性半导体存储器的命令序列的存储卡,其特征在于包括:
第2非易失性半导体存储器,进行数据的写入、读出及删除;以及
控制器,装载有存储器接口单元、主接口单元、缓冲器、CPU、ROM以及RAM,对从上述主机输出的针对上述第1非易失性半导体存储器的上述命令序列进行处理,并依照全体设备命令序列控制针对上述第2非易失性半导体存储器的数据的写入、读出及删除的动作,
上述命令序列由命令及地址的输入定时所规定,同时从上述主机输出的上述命令序列具有的上述地址包含物理地址。
6.如权利要求5所述的存储卡,其特征在于:
从上述主机输出的上述命令序列,不遵照对上述第2非易失性半导体存储器定义的命令序列的规格。
7.如权利要求5所述的存储卡,其特征在于:
上述第1非易失性半导体存储器具有的第1删除块大小与上述第2非易失性半导体存储器具有的第2删除块大小不同,上述删除块大小指的是在删除时一齐删除的数据大小。
8.如权利要求5所述的存储卡,其特征在于:
上述控制器将从上述主机输出的上述第1非易失性半导体存储器具有的第1删除块大小变换为上述第2非易失性半导体存储器具有的大于上述第1删除块大小的第2删除块大小,上述删除块大小指的是在删除时一齐删除的数据容量。
9.如权利要求5所述的存储卡,其特征在于:
上述控制器,利用以下的控制步骤对从上述主机输出的上述命令序列进行处理:
判定上述命令序列包含的命令是写入、读出、删除、ID读、状态读中的某一个;
在上述命令是写入、读出、删除中的某一个时,判定是否输入了预定数目的地址;
在输入了预定数目的上述地址时,执行写入、读出、删除中的某一个;
在未输入预定数目的上述地址时,判定是否从上述主机输入命令;以及
在上述命令是ID读、状态读中的某一个时,执行ID读、状态读中的某一个。
10.如权利要求5所述的存储卡,其特征在于:
上述控制器,利用以下的控制步骤对从上述主机输出的上述命令序列进行处理:
判定上述命令序列包含的命令;
在判定上述命令中,在判定上述命令是写入及读出中的某一个时,判定是否输入了第1预定数目的地址;
在输入了上述第1预定数目的上述地址时,执行上述写入及读出中的某一个;
在未输入上述第1预定数目的上述地址时,判定是否从上述主机输入了命令;
在输入了上述命令时,返回到判定上述命令;
在未输入上述命令时,返回到判定是否输入了上述第1预定数目的上述地址;
在判定上述命令中,在上述命令是删除时,判定是否输入了第2预定数目的地址;
在输入了上述第2预定数目的上述地址时,执行上述删除;
在判定未输入上述第2预定数目的上述地址时,判定是否从上述主机输入了命令;
在输入了上述命令时,返回到判定上述命令;
在未输入上述命令时,返回到判定是否输入了上述第2预定数目的上述地址;以及
在判定上述命令中,在上述命令是ID读及状态读中的某一个时,执行上述ID读、状态读中的某一个。
11.如权利要求5所述的存储卡,其特征在于:
上述第1非易失性半导体存储器及上述第2非易失性半导体存储器包含NAND型闪存。
12.一种对装载于主机中从上述主机进行存取的存储卡的控制方法,其特征在于包括:
判定从上述主机输入的命令是否是写入、读出、删除、ID读、状态读的某一个;
在上述命令是写入、读出、删除中的某一个时,判定是否输入了预定数目的地址;
在输入了预定数目的上述地址时,执行写入、读出、删除中的某一个;
在未输入预定数目的上述地址时,判定是否从上述主机输入了命令;并且
在未输入上述指令时,返回到判定是否输入了上述预定数目的上述地址,
在上述命令是ID读、状态读中的某一个时,执行ID读、状态读中的某一个。
13.一种对装载于主机中从上述主机进行存取的存储卡的控制方法,其特征在于包括:
判定从上述主机输入的命令;
在判定上述命令中,在判定上述命令是写入及读出中的某一个时,判定是否输入了第1预定数目的地址;
在输入了上述第1预定数目的上述地址时,执行上述写入及读出中的某一个;
在未输入上述第1预定数目的上述地址时,判定是否从上述主机输入命令;
在输入了上述命令时,返回到判定上述命令;
在未输入上述命令时,返回到判定是否输入了上述第1预定数目的上述地址;
在判定上述命令中,在上述命令是删除时,判定是否输入了第2预定数目的地址;
在输入了上述第2预定数目的上述地址时,执行上述删除;
在判定未输入上述第2预定数目的上述地址时,判定是否从上述主机输入了命令;
在输入了上述命令时,返回到判定上述命令;
在未输入上述命令时,返回到判定是否输入了上述第2预定数目的上述地址;以及
在判定上述命令中,在上述命令是ID读及状态读中的某一个时,执行上述ID读、状态读中的某一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004273895 | 2004-09-21 | ||
JP2004273895A JP4406339B2 (ja) | 2004-09-21 | 2004-09-21 | コントローラ、メモリカード及びその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1766850A CN1766850A (zh) | 2006-05-03 |
CN100585570C true CN100585570C (zh) | 2010-01-27 |
Family
ID=36075322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510109973A Expired - Fee Related CN100585570C (zh) | 2004-09-21 | 2005-09-21 | 具有存储元件的存储卡及其控制方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7392343B2 (zh) |
JP (1) | JP4406339B2 (zh) |
KR (1) | KR100755111B1 (zh) |
CN (1) | CN100585570C (zh) |
TW (1) | TWI289257B (zh) |
Families Citing this family (112)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW561491B (en) * | 2001-06-29 | 2003-11-11 | Toshiba Corp | Semiconductor memory device |
JP3892851B2 (ja) * | 2004-02-04 | 2007-03-14 | 株式会社東芝 | メモリカード及び半導体装置 |
JP2006019932A (ja) * | 2004-06-30 | 2006-01-19 | Canon Inc | 処理装置及び撮像装置 |
JP4406339B2 (ja) | 2004-09-21 | 2010-01-27 | 株式会社東芝 | コントローラ、メモリカード及びその制御方法 |
US8291295B2 (en) * | 2005-09-26 | 2012-10-16 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US7631245B2 (en) * | 2005-09-26 | 2009-12-08 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US20070165457A1 (en) * | 2005-09-30 | 2007-07-19 | Jin-Ki Kim | Nonvolatile memory system |
JP2007272635A (ja) | 2006-03-31 | 2007-10-18 | Toshiba Corp | メモリシステム及びコントローラ |
US7479798B1 (en) * | 2006-05-16 | 2009-01-20 | Altera Corporation | Selectively disabled output |
EP2047368A4 (en) * | 2006-07-31 | 2009-09-23 | Toshiba Kk | NON-VOLATILE MEMORY SYSTEM AND DATA READING / WRITING METHOD FOR NON-VOLATILE MEMORY SYSTEM |
US20080046641A1 (en) * | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
US20080046630A1 (en) * | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
US20080082750A1 (en) * | 2006-09-28 | 2008-04-03 | Okin Kenneth A | Methods of communicating to, memory modules in a memory channel |
KR100794312B1 (ko) | 2006-12-27 | 2008-01-11 | 삼성전자주식회사 | 명령어 자동 처리 유니트를 포함한 메모리 컨트롤러 및그를 포함한 메모리 시스템 |
JP4970078B2 (ja) * | 2007-02-21 | 2012-07-04 | 株式会社東芝 | 不揮発性メモリシステム |
JP2009026296A (ja) * | 2007-06-21 | 2009-02-05 | Toshiba Corp | 電子デバイス、メモリデバイス、ホスト装置 |
WO2009037697A2 (en) * | 2007-09-20 | 2009-03-26 | Densbits Technologies Ltd. | Improved systems and methods for determining logical values of coupled flash memory cells |
WO2009095902A2 (en) * | 2008-01-31 | 2009-08-06 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
US8694715B2 (en) | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
WO2009053961A2 (en) | 2007-10-25 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
WO2009072103A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells |
US8453022B2 (en) | 2007-12-05 | 2013-05-28 | Densbits Technologies Ltd. | Apparatus and methods for generating row-specific reading thresholds in flash memory |
WO2009072105A2 (en) * | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications |
US8359516B2 (en) | 2007-12-12 | 2013-01-22 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
WO2009074979A2 (en) * | 2007-12-12 | 2009-06-18 | Densbits Technologies Ltd. | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications |
US9741027B2 (en) * | 2007-12-14 | 2017-08-22 | Tyfone, Inc. | Memory card based contactless devices |
WO2009078006A2 (en) | 2007-12-18 | 2009-06-25 | Densbits Technologies Ltd. | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith |
US8972472B2 (en) * | 2008-03-25 | 2015-03-03 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
TWI473117B (zh) * | 2008-06-04 | 2015-02-11 | A Data Technology Co Ltd | 具資料修正功能之快閃記憶體儲存裝置 |
TW201007734A (en) * | 2008-08-06 | 2010-02-16 | Genesys Logic Inc | Flash memory control apparatus having signal-converting module |
US8332725B2 (en) | 2008-08-20 | 2012-12-11 | Densbits Technologies Ltd. | Reprogramming non volatile memory portions |
JP2010140266A (ja) * | 2008-12-11 | 2010-06-24 | Toshiba Corp | 電子デバイスシステムと電子デバイス |
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 |
US8458574B2 (en) * | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
US8819385B2 (en) | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
US8566510B2 (en) | 2009-05-12 | 2013-10-22 | Densbits Technologies Ltd. | Systems and method for flash memory management |
JP5198379B2 (ja) * | 2009-07-23 | 2013-05-15 | 株式会社東芝 | 半導体メモリカード |
US20110041039A1 (en) * | 2009-08-11 | 2011-02-17 | Eliyahou Harari | Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device |
US20110040924A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code |
US8305812B2 (en) * | 2009-08-26 | 2012-11-06 | Densbits Technologies Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8868821B2 (en) | 2009-08-26 | 2014-10-21 | Densbits Technologies Ltd. | Systems and methods for pre-equalization and code design for a flash memory |
US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
US8730729B2 (en) | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8724387B2 (en) | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
US8626988B2 (en) * | 2009-11-19 | 2014-01-07 | Densbits Technologies Ltd. | System and method for uncoded bit error rate equalization via interleaving |
US9037777B2 (en) * | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
US8607124B2 (en) * | 2009-12-24 | 2013-12-10 | Densbits Technologies Ltd. | System and method for setting a flash memory cell read threshold |
US8443263B2 (en) | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
US8595411B2 (en) * | 2009-12-30 | 2013-11-26 | Sandisk Technologies Inc. | Method and controller for performing a sequence of commands |
US8700970B2 (en) * | 2010-02-28 | 2014-04-15 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
US9104610B2 (en) | 2010-04-06 | 2015-08-11 | Densbits Technologies Ltd. | Method, system and medium for analog encryption in a flash memory |
US8527840B2 (en) | 2010-04-06 | 2013-09-03 | Densbits Technologies Ltd. | System and method for restoring damaged data programmed on a flash device |
US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
US9021177B2 (en) | 2010-04-29 | 2015-04-28 | Densbits Technologies Ltd. | System and method for allocating and using spare blocks in a flash memory |
US8510639B2 (en) | 2010-07-01 | 2013-08-13 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US8539311B2 (en) | 2010-07-01 | 2013-09-17 | Densbits Technologies Ltd. | System and method for data recovery in multi-level cell memories |
US20120008414A1 (en) | 2010-07-06 | 2012-01-12 | Michael Katz | Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system |
US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
US8508995B2 (en) | 2010-09-15 | 2013-08-13 | Densbits Technologies Ltd. | System and method for adjusting read voltage thresholds in memories |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
US10079068B2 (en) | 2011-02-23 | 2018-09-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Devices and method for wear estimation based memory management |
US8693258B2 (en) | 2011-03-17 | 2014-04-08 | Densbits Technologies Ltd. | Obtaining soft information using a hard interface |
US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
CA141195S (en) * | 2011-05-17 | 2012-02-03 | Sony Computer Entertainment Inc | Digital memory card |
US8667211B2 (en) | 2011-06-01 | 2014-03-04 | Densbits Technologies Ltd. | System and method for managing a non-volatile memory |
US8588003B1 (en) | 2011-08-01 | 2013-11-19 | Densbits Technologies Ltd. | System, method and computer program product for programming and for recovering from a power failure |
TW201310329A (zh) * | 2011-08-18 | 2013-03-01 | Chen jian long | 外部記憶裝置及該外部記憶裝置的控制方法 |
US8553468B2 (en) | 2011-09-21 | 2013-10-08 | Densbits Technologies Ltd. | System and method for managing erase operations in a non-volatile memory |
WO2013094913A1 (ko) * | 2011-12-23 | 2013-06-27 | 한양대학교 산학협력단 | 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법 |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
US8747162B2 (en) | 2012-03-29 | 2014-06-10 | Sandisk Technologies Inc. | Host device with memory card slot having a card gripping-extracting recess |
US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
US9921954B1 (en) | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
TWI494944B (zh) * | 2013-10-25 | 2015-08-01 | Phison Electronics Corp | 記憶體模組偵測方法、記憶體控制電路單元及儲存裝置 |
US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
USD736775S1 (en) * | 2014-05-02 | 2015-08-18 | Samsung Electronics Co., Ltd. | Memory card |
USD735725S1 (en) * | 2014-05-02 | 2015-08-04 | Samsung Electronics Co., Ltd. | Memory card |
US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
US10289480B2 (en) * | 2015-03-12 | 2019-05-14 | Toshiba Memory Corporation | Memory system |
US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
JP6867775B2 (ja) | 2016-10-19 | 2021-05-12 | 任天堂株式会社 | カートリッジ |
USD836641S1 (en) * | 2016-10-19 | 2018-12-25 | Nintendo Co., Ltd. | Memory card |
US10515701B1 (en) * | 2017-10-31 | 2019-12-24 | Pure Storage, Inc. | Overlapping raid groups |
US10976947B2 (en) * | 2018-10-26 | 2021-04-13 | Pure Storage, Inc. | Dynamically selecting segment heights in a heterogeneous RAID group |
JP7425569B2 (ja) * | 2019-09-20 | 2024-01-31 | キヤノン株式会社 | 撮像装置、デバイス、制御方法及びプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799168A (en) * | 1996-01-05 | 1998-08-25 | M-Systems Flash Disk Pioneers Ltd. | Standardized flash controller |
US6480947B1 (en) * | 1998-08-10 | 2002-11-12 | Hitachi, Ltd. | Multiport memory, data processor and data processing system |
US6650593B2 (en) * | 2001-02-27 | 2003-11-18 | Fujitsu Limited | Memory system having memory controller for controlling different types of memory chips |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI240864B (en) * | 2001-06-13 | 2005-10-01 | Hitachi Ltd | Memory device |
JP4059472B2 (ja) | 2001-08-09 | 2008-03-12 | 株式会社ルネサステクノロジ | メモリカード及びメモリコントローラ |
JP4294894B2 (ja) * | 2001-09-13 | 2009-07-15 | 株式会社ルネサステクノロジ | メモリカード |
US6823417B2 (en) | 2001-10-01 | 2004-11-23 | Hewlett-Packard Development Company, L.P. | Memory controller for memory card manages file allocation table |
US20030225962A1 (en) | 2002-05-31 | 2003-12-04 | Hitachi, Ltd. | Memory card and memory card system |
JP4406339B2 (ja) | 2004-09-21 | 2010-01-27 | 株式会社東芝 | コントローラ、メモリカード及びその制御方法 |
-
2004
- 2004-09-21 JP JP2004273895A patent/JP4406339B2/ja not_active Expired - Fee Related
-
2005
- 2005-04-04 US US11/097,337 patent/US7392343B2/en active Active
- 2005-09-12 TW TW094131309A patent/TWI289257B/zh not_active IP Right Cessation
- 2005-09-15 KR KR1020050086036A patent/KR100755111B1/ko not_active IP Right Cessation
- 2005-09-21 CN CN200510109973A patent/CN100585570C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799168A (en) * | 1996-01-05 | 1998-08-25 | M-Systems Flash Disk Pioneers Ltd. | Standardized flash controller |
US6480947B1 (en) * | 1998-08-10 | 2002-11-12 | Hitachi, Ltd. | Multiport memory, data processor and data processing system |
US6650593B2 (en) * | 2001-02-27 | 2003-11-18 | Fujitsu Limited | Memory system having memory controller for controlling different types of memory chips |
Also Published As
Publication number | Publication date |
---|---|
KR20060051314A (ko) | 2006-05-19 |
CN1766850A (zh) | 2006-05-03 |
TWI289257B (en) | 2007-11-01 |
US7392343B2 (en) | 2008-06-24 |
JP4406339B2 (ja) | 2010-01-27 |
KR100755111B1 (ko) | 2007-09-04 |
TW200622612A (en) | 2006-07-01 |
US20060064537A1 (en) | 2006-03-23 |
JP2006092019A (ja) | 2006-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100585570C (zh) | 具有存储元件的存储卡及其控制方法 | |
USRE50067E1 (en) | Storage device including flash memory and capable of predicting storage device performance based on performance parameters | |
US7937523B2 (en) | Memory system with nonvolatile semiconductor memory | |
CN104126177B (zh) | 预交错顺序数据的系统及方法 | |
CN100468307C (zh) | 存储卡和搭载在存储卡中的卡用控制器以及存储卡的处理装置 | |
US8880483B2 (en) | System and method for implementing extensions to intelligently manage resources of a mass storage system | |
US7814264B2 (en) | Memory card, semiconductor device, and method of controlling semiconductor memory | |
US7404031B2 (en) | Memory card, nonvolatile semiconductor memory, and method of controlling semiconductor memory | |
CN102915274A (zh) | 存储装置 | |
CN107111456A (zh) | 用于生成与主机命令相关联的提示信息的系统和方法 | |
TW200527433A (en) | Memory card and semiconductor device | |
KR20070085481A (ko) | 메모리 시스템 및 불휘발성 반도체 메모리 기입 방법 | |
DE102008015034A1 (de) | Speicherkarte, Speicherkartensystem, Verfahren zum Steuern eines Hosts und Verfahren zum Betreiben einer Speicherkarte | |
WO1999030239A1 (fr) | Memoire et procede d'acces | |
CN109815158A (zh) | 进行系统备份的方法、记忆装置及控制器、及电子装置 | |
CN110245092A (zh) | 存储器系统、其操作方法以及电子装置 | |
CN109753230A (zh) | 控制数据存储装置运作的方法及数据存储装置及其控制器 | |
CN104142895A (zh) | 写入方法、存储器控制器与存储器储存装置 | |
CN103914408B (zh) | 数据传输方法、存储器控制器、数据传输系统 | |
Iaculo et al. | Memory Cards |
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: 20100127 Termination date: 20170921 |