CN102326154B - 用于管理型非易失性存储器的地址映射的体系结构 - Google Patents

用于管理型非易失性存储器的地址映射的体系结构 Download PDF

Info

Publication number
CN102326154B
CN102326154B CN200980157384.5A CN200980157384A CN102326154B CN 102326154 B CN102326154 B CN 102326154B CN 200980157384 A CN200980157384 A CN 200980157384A CN 102326154 B CN102326154 B CN 102326154B
Authority
CN
China
Prior art keywords
addressable unit
nvm
packaging part
page
processor
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
CN200980157384.5A
Other languages
English (en)
Other versions
CN102326154A (zh
Inventor
塔霍马·托尔科斯
尼尔·雅各布·瓦卡拉特
肯尼思·L·赫曼
巴利·科勒帝
威蒂姆·克梅尔尼特斯基
安东尼·珐
丹尼尔·杰弗里·波斯特
张晓翰
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.)
Apple Inc
Original Assignee
Apple Computer Inc
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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN102326154A publication Critical patent/CN102326154A/zh
Application granted granted Critical
Publication of CN102326154B publication Critical patent/CN102326154B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Abstract

所公开的体系结构使用地址映射来将主机接口上的块地址映射到非易失性存储器(NVM)器件的内部块地址。块地址被映射到用于选择由该块地址标识的同时可寻址单元(CAU)的内部芯片选择。所公开的体系结构支持用于读、写、擦除和获取状态操作的一般性NVM命令。该体系结构还支持用于支持平衡利用多CAU体系结构的读写操作的扩展命令集。

Description

用于管理型非易失性存储器的地址映射的体系结构
相关申请
本申请要求2008年12月23日提交的美国临时专利申请No.61/140,436以及2009年11月6日提交的美国专利申请No.12/614,369的优先权益,其每个申请通过引用被整体结合于此。
技术领域
本主题一般涉及对管理型(managed)非易失性存储器的访问和管理。
背景技术
闪存是一种电可擦除可编程只读存储器(EEPROM)。由于闪存是非易失性的并且是相对密集的,因此它们被用来在手持式计算机、移动电话、数字相机、便携式音乐播放器以及其它存储方案(例如磁盘)不适合的许多其它设备中存储文件和其它永久对象。
NAND是一种可像诸如硬盘或存储卡之类的块器件(block device)那样来访问的闪存。典型块大小是512字节的32页,其每个块大小是16KB的块大小。每块由多页组成。典型的页大小是512字节。与每页相关联的是用于存储检错和纠错校验和的多个字节(例如,12-16字节)。读取和编程逐页地来执行,擦除逐块地来执行,并且块中的数据仅可被顺序地写入。NAND依赖于纠错码(ECC)来补偿在常规器件操作期间可能翻转(flip)的比特。当执行擦除或编程操作时,NAND器件可以检测到未能进行编程或擦除的块并且在坏块映射关系中将这些块标记为坏的。数据可被写入不同的好块,并且坏块映射关系被更新。
管理型NAND器件组合原始的NAND与存储器控制器,来处理纠错和检错以及NAND存储器的存储器管理功能。在球栅阵列(BGA)封装件或支持标准化处理器接口的其它集成电路(IC)封装件,例如多媒体存储卡(MMC)和安全数字(SD)卡中,可商业获得管理型NAND。管理型NAND器件可以包括可利用一个或多个芯片选择信号来访问的多个NAND器件或管芯。芯片选择是在数电中用来从连接到同一总线的数个芯片中选择一个芯片的控制线。芯片选择通常是大多数IC封装件上的、将器件上的输入管脚与该器件内的内部电路相连的命令管脚。当使芯片选择管脚保持在非活动状态时,芯片或器件忽视其输入管脚上的状态改变。当使芯片选择管脚保持在活动状态时,该芯片或器件就像其是该总线上的唯一芯片那样来作出响应。
开放NAND闪存接口工作组(ONFI)已开发出了用于NAND闪存芯片的低层接口,以允许来自不同厂商的遵从器件之间的互操作性。ONFI规范版本1.0规定了:用于TSOP-48,WSOP-48,LGA-52和BGA-63封装件中的NAND闪存的标准物理接口(pin-out,接脚);用于读取、写入和擦除NAND闪存芯片的标准命令集;以及用于自我标识的机制。ONFI规范版本2.0支持双通道接口,其中奇数芯片选择(也称为芯片使能或“CE”)连接到通道1并且偶数CE连接到通道2。物理接口对于整个封装件来说将具有不多于8个CE。
虽然ONFI规范允许互操作性,但是当前的ONFI规范未充分利用管理型NAND方案。
发明内容
所公开的体系结构使用地址映射来将主机接口上的块地址映射到非易失性存储器(NVM)器件的内部块地址。块地址被映射到用于选择由该块地址标识的同时可寻址单元(CAU)的内部芯片选择。所公开的体系结构支持用于读、写、擦除和获取状态操作的一般性非易失性存储器命令。该体系结构还支持用于支持平衡利用多CAU体系结构的读写操作的扩展命令集。
附图说明
图1是包括被耦合到管理型NVM封装件的主机处理器的示例存储器系统的框图。
图2A图示出了实现图2A的地址映射的管理型NVM封装件的示例地址映射。
图2B是图1的示例NVM封装件的框图。
图2C图示出了用于图1的管理型NVM封装件的示例地址映射方案。
图2D图示出了包括坏块替换的图2C的地址映射方案。
图3是使用带有地址的读命令的示例操作的流程图。
图4是使用带有地址的写命令的示例操作的流程图。
图5是使用带有地址的擦除命令的示例操作的流程图。
图6A-6B是使用StrideRead(跨度读)命令的示例操作的流程图。
图7是使用StrideWrite(跨度写)命令的示例操作的流程图。
图8图示出了图1的NVM封装件中的命令队列的使用。
图9是用于将命令记录在图8所示的命令队列中的示例处理的流程图。
具体实施方式
存储器系统概述
图1是示例存储器系统100的框图,包括耦合到管理型NVM封装件104(即,管理型NAND封装件)的主机处理器102。NVM封装件104可以是BGA封装件或其它IC封装件,包括多个NVM器件108(例如,多个原始NAND器件)。存储器系统100可被用在多种设备中,包括但不限于:手持式计算机、移动电话、数字相机、便携式音乐播放器、玩具、拇指驱动器、电子邮件设备以及希望或需要非易失性存储器的任何其它设备。如这里所使用的,原始NVM是由外部主机处理器管理的存储器件或封装件,并且管理型NVM是包括诸如纠错、耗损均衡(wear leveling)、坏块管理等之类的至少一个内部存储器管理功能的存储器件或封装件。
在一些实现方式中,NVM封装件104可以包括用于利用内部芯片选择信号通过内部通道来访问和管理NVM器件108的控制器106。内部通道是控制器106与NVM器件108之间的数据路径。控制器106可以执行存储器管理功能(例如,耗损均衡、坏块管理)并且可以包括用于检测并纠正数据错误(例如,翻转的比特)的纠错(ECC)引擎110。在一些实现方式中,ECC引擎110可被实现为控制器106中的硬件组件或者由控制器106执行的软件组件。在一些实现方式中,ECC引擎110可以位于NVM器件108中。高效地管理数据吞吐量的流水线管理模块112可以被包括。
在一些实现方式中,主机处理器102和NVM封装件104可以通过主机可见的通信通道(“主机通道”)来传输信息(例如,控制命令、地址、数据)。主机通道可以支持标准接口,例如原始NAND接口或双通道接口,如在ONFI规范版本2.0中所述的。主机处理器102还可以提供主机芯片使能(CE)信号。主机CE是主机处理器102可见的以用来选择主机通道。
在示例存储器系统100中,NVM封装件104支持CE隐藏。CE隐藏允许单个主机CE被用于NVM封装件104中的各个内部通道,从而减少支持NVM封装件104的接口所需的信号数目。如参考图2A所述的,可利用地址空间和地址映射来将存储器访问(memory access)映射到内部通道和NVM器件108。可以利用由控制器106生成的内部CE信号来使能各个NVM器件108。
示例地址映射
图2A图示出了管理型NVM的示例地址映射关系。控制器106将在主机通道上接收的块地址映射到NVM器件108内部的具体块地址。为了辅助地址映射,控制器106向主机处理器102提供几何参数,包括但不限于:管芯大小、块大小、页大小、元数据大小(MDS)、行程(run)和跨度(stride)。
行程和跨度参数使得主机处理器102能够生成页地址的高效序列。行程参数标识出NVM封装件104中当前利用主机CE和地址映射可同时寻址的CAU的数目。CAU可以是可从单个主机通道访问的、可与另一CAU同时被写入或读取的NVM器件108的一部分。CAU还可以是整个NVM器件108。跨度参数标识出CAU内的用于特定于厂商的操作命令的块的数目。
在图2A所示的示例块映射中,NVM封装件104具有行程2(即,两个CAU)和跨度4(即,每个CAU 4块),允许主机处理器102生成8个块的切片(slice):b0,b1,b2,b3,b4,b5,b6,b7。因此,切片是行程乘以跨度合计出的块的集合。可以基于所需要的应用或存储器体系结构来制造具有不同行程和跨度值的NVM封装件。注意,块标识符已在图2A和图2B中用斜体字标出,以从视觉上区分属于不同CAU的块。
MDS参数标识出允许用于元数据的与每个页大小相关联的字节数目。页大小是非易失性存储器的页面的数据区域。完美页大小(Perfect PageSize,PPS)是字节数目,该字节数目等于页大小加上MDS。原始页大小(Raw Page Size,RPS)是非易失性存储器的物理页的大小。
实现地址映射的示例NVM封装件
图2B是实现图2A的地址映射的图1的示例管理型NVM封装件104的框图。NVM封装件104可以包括主机接口,其具有主机通道、命令锁存使能(CLE)输入、地址锁存使能(ALE)输入、芯片使能(CE)输入和准备就绪/忙碌(R/B)输入。主机接口可以包括更多或更少的输入。在此示例中,主机接口接收来自主机处理器102的逻辑地址。逻辑地址可以包括表示这样的字段[块地址页地址偏移]的比特,其是典型的NVM寻址。
在一些实现方式中,控制器106从主机同道读取逻辑地址,并且利用图2A的地址映射将块地址映射到具体内部块地址。例如,如果逻辑地址是[0,0,0],则块地址是0。块地址被映射为针对NVM器件108a的内部芯片选择块地址、页地址和偏移形成了用来从所选CAU访问数据的PPS的物理地址。在此示例中,与包括NVM器件108b的一部分的CAU 202相比,本CAU包括整个物理NVM器件108a。因此,块地址执行两个功能:1)通过将块地址的比特映射到针对CAU或NVM器件的内部CE来辅助选择物理NVM器件内的CAU,或者物理NVM器件;2)用于提供物理地址来访问所选CAU或NVM器件中的块。
在此示例中,偶数块被映射到NVM器件108a并且奇数块被映射到NVM器件108b中的CAU 202。当控制器106检测到偶数编号块地址时,控制器106激活针对NVM器件108a的内部芯片使能并且当控制器106检测到奇数编号的块地址时,控制器106激活针对NVM器件108b的内部芯片使能CE1。该地址映射方案可被扩展为管理型NVM封装件中的任意所希望数目的CAU和/或NVM器件。在一些实现方式中,块地址的最高有效位可被用来选择内部CE,并且其余块地址比特或者整个块地址可被与页地址和偏移组合成物理地址,来访问块以执行操作。在一些实现方式中,为了选择要激活的内部CE,译码逻辑可被添加到NVM封装件或控制器106以对块地址译码。
上述地址映射方案的优点在于NVM封装件104的主机接口可被简化(减少了管脚数)并且仍然支持用于读、写、擦除和获取状态操作的一般性原始NVM命令(例如,原始NAND命令)。另外,经扩展命令可被用来平衡利用多CAU体系结构。与用于传统的原始NVM体系结构(例如,原始NAND体系结构)的交错命令类似,NVM封装件104支持同时读写操作。
在一些实现方式中,引擎110对数据执行纠错并且通过主机接口向主机处理器发送状态。该状态向主机处理器通知操作是否失败,从而允许主机处理器调节块地址以访问不同CAU或NVM器件。例如,如果响应于特定CAU上的操作而发生了大量错误,则主机处理器可以修改块地址来避免激活针对有缺陷NVM器件的内部CE。
图2C图示出了用于图1的管理型NVM封装件104的示例地址映射方案。具体地,映射可被用于包括多个管芯的管理型NAND器件,其中,每个管芯可以潜在地包括多个平面(plane)。在一些实现方式中,地址映射对同时可寻址单元(Concurrently Addressable Unit,CAU)进行操作。CAU是可从单个主机通道访问的物理存储装置的一部分,其可与NVM封装件中的其它CAU同时地或者并行地被读取、编程或擦除。CAU例如可以是单个平面或单个管芯。CAU大小是CAU中可擦除块的数目。
将利用示例存储器体系结构来描述映射。对于该示例体系结构,块大小被定义为可擦除块中的页的数目。在一些实现方式中,对于每4千字节的数据,有16字节的元数据可用。其它存储器体系结构也可以。例如,元数据可被分配有更多或更少的字节。
图2C所示的地址映射方案允许使用用于读/编程/擦除NAND块的原始NAND协议以及使得能够优化性能的其它命令。NVM封装件104包括用于管理NAND的数据可靠性的ECC引擎(例如,ECC引擎110)。因此,主机控制器102不需要包括ECC引擎110或者为了可靠性以其他方式处理数据。
NVM封装件104将CAU定义为可与其它CAU同时或并行地被访问(例如,将数据从NAND存储器单元移到内部寄存器)的区域。在此示例体系结构中,假设所有CAU包括相同数目的块。在其它实现方式中,CAU可以具有不同数目的块。下面的表I描述了用于访问CAU中的页的示例行地址格式。
表I-示例行地址格式
R[X+Y:X+Y+Z-1] R[X:X+Y-1] R[0:X-1]
CAU
参考表I,示例n比特(例如,24比特)行地址可以以下面的格式被呈现给NAND器件中的控制器:[CAU:块:页]。CAU是表示管芯或平面的编号(例如,整数)。块(Block)是由CAU编号所标识的CAU中的块偏移,并且页(Page)是由该块(Block)标识的块中的页偏移。例如,在每块有128页、每个CAU有8192块并且有6个CAU的器件中:X将为7(27=128),Y将为13(213=8192),并且Z将为3(22<6<23)。
图2C所示的示例NVM封装件104包括两个NAND管芯204a、204b,并且每个管芯具有两个平面。例如,管芯204a包括平面206a、206b。并且,管芯204b包括平面206c、206d。在此示例中,每个平面是一个CAU并且每个CAU具有2048个多级单元(MLC)块,每块有128页。编程和擦除操作可以在一跨度的块(来自每个CAU的块)上执行。跨度被定义为各自来自不同CAU的块的阵列。在所示示例中,“跨度0”定义了来自CAU 0-3中的每个CAU的块0,“跨度1”定义了来自CAU0-3中的每个CAU的块1,“跨度2”定义了来自CAU 0-3中的每个CAU的块2,等等。
该NVM封装件包括NVM控制器202,NVM控制器202通过控制总线208和地址/数据总线210与CAU通信。在操作期间,NVM控制器202从主机控制器(未示出)接收命令,并且作为对命令的响应,断言控制总线208上的控制信号和地址/数据总线210上的地址或数据,以对一个或多个CAU执行操作(例如,读、编程或擦除操作)。在一些实现方式中,该命令包括具有[CAU:块:页]形式的行地址,如参考图2C描述的。
图2D图示出了包括坏块替换的图2C的地址映射方案。在此示例中,跨度地址已由主机控制器102发出用于具有三个CAU的NVM封装件104,其中,CAU之一在跨度块偏移中保存了坏块。“跨度4”地址将正常地访问CAU0:块4,CAU1:块4和CAU2:块4。在此示例中,然而,坏块CAU1:块4被CAU1:块2000替换。
示例命令集
NVM封装件104能够支持透明模式。透明模式使得能够在不用ECC的情况下访问存储器阵列并且可被用来评估控制器106的性能。NVM封装件104还支持用于读、写和获取状态操作的一般性原始NVM命令。表1-3描述了示例读、写和提交(Commit)操作。对于传统的原始NVM,NVM器件在写命令被发出之前应当准备就绪。如参考表4描述的,可以利用状态读取操作来确定准备就绪。
表1-示例读操作
表2-示例写操作(写模式)
表3-示例写操作(提交模式)
表4-示例状态读取操作
除了上述操作以外,控制器106可以支持各种其它命令。页参数读取(Page Parameter Read)命令从NVM封装件104返回几何参数。几何参数的一些示例包括但不限于:管芯大小、块大小、页大小、MDS、行程和跨度。中止(Abort)命令使得控制器106监视当前操作并且停止进程中的后续跨度操作。重置(Reset)命令停止当前操作,使得正被改变的存储器单元的内容无效。控制器106中的命令寄存器被清除以准备用于下一命令。读ID(Read ID)命令返回产品标识。读时序(Read Timing)命令返回用于写和擦除命令的建立、保持和延迟时间。读器件参数(Read DeviceParameter)命令返回NVM封装件104的具体标识,包括规范支持、器件版本和固件版本。
在下面的表5中描述了示例命令集。
表5-示例命令集
功能 1st集合 2nd集合
页读取 00h 30h
带有地址的页读取 07h 37h
跨度读取 09h----09h 39h
页写入 80h 10h
带有地址的页写入 87h 17h
跨度写入 89h----89h 19h
块擦除 60h D0h
带有地址的块擦除 67h D7h
读状态 70h -
带有地址的读状态 77h -
读取比特翻转计数器 72h -
读ID 90h -
读时序 91h -
读器件参数 92h -
重置 FFh -
中止 99h -
示例读、写和擦除操作
为了平衡利用NVM封装件104中的多CAU体系结构,NVM封装件104可以利用扩展命令集来支持对所有或数个CAU的访问。NVM封装件104可以支持下面的扩展命令,其中,所有地址被对齐到PPS:带有地址的读、带有地址的写、带有地址的擦除以及带有地址的状态。图3-7指示出了在哪里可能发生跨越CAU的交错。交错可能发生的点(称为“交错点“)用圆圈指示。由于每个操作的开始点和结束点各自是交错点,因此每个操作的开始点和结束点分别表现为白圆圈和交叉线阴影圆圈,并且交错可能发生的所有中间点用条纹阴影圆圈来指示。图3-7假设NVM封装件处于一系列操作之后的完全准备就绪状态。
图3是使用带有地址的读命令的示例操作300的流程图。在步骤302,主机处理器向NVM封装件发出带有地址的读命令。在步骤304,主机处理器执行对地址状态序列的等待,直到NVM封装件提供指示地址已准备好被读取的状态为止。在步骤306,主机处理器向NVM封装件发出带有地址的确认命令。在步骤308,NVM封装件中的控制器通过主机通道将PPS字节的数据传送给主机处理器。利用ECC引擎(例如,ECC引擎110)向NVM封装件中的字节应用纠错。在此示例带有地址的读命令操作中,交错点可能出现在该操作的开始和结束处以及该操作的中间步骤302和304、中间步骤304和306之间。
针对跨越两个CAU(行程=2并且跨度=1)的单页的示例带有地址的读命令操作可以为如下:
(读)[块0页0]
(读)[块1页0]
(GetPageStatus)[块0页0]W4R{数据+元数据}
(GetPageStatus)[块1页0]W4R{数据+元数据}
图4是使用带有地址的写命令的示例操作400的流程图。在步骤402,主机处理器发出带有地址的写命令。在步骤404,主机处理器通过主机通道向NVM封装件中的控制器传送PPS字节的数据。利用ECC引擎向这些字节应用纠错。在步骤406,主机处理器将带有地址的提交命令发出给与该地址相对应的存储器阵列,该带有地址的提交命令提交去往CAU的未提交的写入。任何相应的ECC校正子也被提交。在步骤408,主机处理器执行对带有地址的状态序列的等待,直到NVM封装件提供了指示数据已被写入该地址的状态为止。在此示例带有地址的写命令操作中,交错点可以出现在该操作的开始和结束处以及该操作的中间点406和408之间。
针对跨越两个CAU(行程=2并且跨度=1)的单页的示例带有地址的写命令操作可以为如下:
(StrideWrite)[块0页0]<数据+元数据>
(StrideWrite)[块1页0]<数据+元数据>
(GetPageStatus)[块0页0]W4R{状态}
(GetPageStatus)[块1页0]W4R{状态}
(提交)[块0页0]
(提交)[块1页0]
图5是使用带有地址的擦除命令的实例操作500的流程图。在步骤502,主机处理器发出带有地址的擦除命令。在步骤504,主机处理器执行对带有地址的状态的等待,直到NVM封装件提供了指示该地址准备好被擦除的状态为止。在此示例带有地址的擦除命令的操作中,交错点可以出现在该操作的开始和结束处以及该操作的中间步骤502和504之间。
示例跨度操作
为了平衡利用特定于厂商的命令,NVM封装件支持CAU内的多种页操作。具体地,NVM封装件支持StrideRead(跨度读)和StrideWrite(跨度写)命令。
图6A和6B是使用带有地址的StrideRead命令的示例操作600的流程图。参考图6A的步骤602,给定NVM器件跨度中的块数S和将要读取的每块的页数N,将要读取的剩余页数P可被设置为等于S和N之积。在步骤604,主机处理器通过将计数器I设置为等于零来启动下一跨度。在步骤606,P被与S相比较。如果P=0,则操作600结束。如果P>S,,则在步骤608中,主机处理器发出带有地址的StrideRead命令。如果P≤S,则在步骤610中,主机处理器发出带有地址的LastStrideRead命令。
在步骤612,计数器I被递增1。在步骤614,将I与S比较。如果I<S,则操作600返回步骤606。如果I=S,则操作600开始该跨度中的页的传送,如参考图6B所述的。
参考图6B中的步骤616,计数器T被设为等于零。在步骤618,主机处理器执行对带有地址的状态序列的等待,直到NVM封装件提供了指示该地址准备好被读取的状态为止。在步骤620,主机处理器发出带有地址的确认命令。在步骤622,NVM封装件将PPS字节的数据传送给主机处理器。在步骤624,计数器T被递增1。在步骤626,计数器T被与S相比较。如果T<S,则操作600返回步骤618。如果T=S,则在步骤628中,将要读取的剩余页数P被减少S,并且操作600返回步骤604。
跨越两个CAU和四个跨度(行程=2并且跨度=4)而延展的八页的示例带有地址的StrideRead的操作可以为如下:
(StrideRead)[块0页0]
(StrideRead)[块1页0]
(StrideRead)[块2页0]
(StrideRead)[块3页0]
(StrideRead)[块4页0]
(StrideRead)[块5页0]
(LastStrideRead)[块6页0]
(LastStrideRead)[块7页0]
(GetPageStatus)[块0页0]W4R{数据+元数据}
(GetPageStatus)[块1页0]W4R{数据+元数据}
(GetPageStatus)[块2页0]W4R{数据+元数据}
(GetPageStatus)[块3页0]W4R{数据+元数据}
(GetPageStatus)[块4页0]W4R{数据+元数据}
(GetPageStatus)[块5页0]W4R{数据+元数据}
(GetPageStatus)[块6页0]W4R{数据+元数据}
(GetPageStatus)[块7页0]W4R{数据+元数据}
图7是使用带有地址的StrideWrite命令的示例操作700的流程图。参考步骤702,给定NVM器件跨度中的块数S和将要写的每块的页数N,将要写的剩余页数P可被设置为等于S和N之积。在步骤704,主机处理器比较P与S。如果P=0,则操作700结束。如果P>S,,则在步骤706中,主机处理器发出带有地址的StrideWrite命令。如果P≤S,则在步骤708中,主机处理器发出带有地址的LastStrideWrite命令。
在步骤710,主机处理器将PPS字节的数据传送给NVM封装件。在步骤712,主机处理器发出带有地址的确认命令来将写提交给存储器阵列。在步骤714,主机处理器执行对带有地址的状态的等待,直到NVM封装件提供了指示数据已被提交给存储器的状态为止。在步骤716,要写的剩余页数被递减1,并且操作700返回步骤704。
跨越两个CAU和四个跨度(行程=2并且跨度=4)而延展的八页的示例带有地址的StrideWrite的操作可以为如下:
(StrideWrite)[块0页0]<数据+元数据>
(StrideWrite)[块1页0]<数据+元数据>
(GetPageStatus)[块0页0]W4R{状态}
(StrideWrite)[块2页0]<数据+元数据>
(GetPageStatus)[块1页0]W4R{状态}
(StrideWrite)[块3页0]<数据+元数据>
(GetPageStatus)[块2页0]W4R{状态}
(StrideWrite)[块4页0]<数据+元数据>
(GetPageStatus)[块3页0]W4R{状态}
(StrideWrite)[块5页0]<数据+元数据>
(GetPageStatus)[块4页0]W4R{状态}
(LastStrideWrite)[块6页1]<数据+元数据>
(GetPageStatus)[块5页0]W4R{状态}
(LastStrideWrite)[块7页1]<数据+元数据>
(GetPageStatus)[块6页0]W4R{状态}
(GetPageStatus)[块7页0]W4R{状态}
示例队列配置
图8图示出了NVM封装件中的命令队列的使用。在一些实现方式中,NVM封装件800可以包括可由控制器802访问的一个或多个队列804。该队列可以是FIFO队列。主机控制器接收的命令可被存储在队列804中。在所示示例中,有三个队列。每个队列分别用于读命令、编程命令和擦除命令。响应于触发事件,控制器802可以将一个或多个命令记录在队列804的一个或多个中,以优化存储器操作期间的性能。例如,一种触发事件可以是:如果队列(和缓冲器)中的顶部项去往正忙于另一操作的平面或CAU的话。
图9是用于将命令记录在图8所示的命令队列中的示例处理900的流程图。在一些实现方式中,处理900通过从主机控制器接收命令而开始(902)。这些命令用于非易失性存储器上的启动操作。命令被存储在一个或多个队列中(904)。例如,三个单独队列可以存储读命令、编程命令和擦除命令。由控制器响应于触发事件而将命令记录在非易失性存储器件中(906)。
虽然本说明书包含许多细节,但这些细节不应被解释为是对作为权利要求的内容的范围或者可能要求保护的内容的范围的限制,而是对特定实施例特有的特征的描述。本说明书中在分离的实施例的上下文中描述的某些特征也可以相组合地在单个实施例中实现。反之,在单个实施例的上下文中描述的各个特征也可以分别在多个实施例中实现或者以任何合适的子组合方式来实现。此外,虽然上面可能将特征描述为以某些组合的方式起作用并且甚至最初要求如此这样被保护,但是来自要求保护的组合的一个或多个特征在一些情况下可从该组合被去除,并且要求保护的组合可被引向子组合或者子组合的变更。
类似地,虽然以特定顺序描述了附图中的操作,然而这不应被理解为要求这些操作以所示出的特定顺序或者依次地被执行,或者所有示出的操作要被执行以获得所希望的结果。在某些状况下,多任务和并行处理可以是有益的。此外,上述实施例中各个系统组件的分离不应被理解为在所有实施例中都要求这样的分离,并且应当明白,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者被封装到多个软件产品中。
如此,已描述了特定实施例。其它实施例也在以下权利要求的范围之内。

Claims (15)

1.一种非易失性存储器(NVM)封装件,包括:
接口,配置为接收块地址;
多个同时可寻址单元,每个同时可寻址单元包含多个块;以及
耦合到所述接口和所述多个同时可寻址单元的处理器,所述处理器可操作来将块地址映射到由所述块地址标识的所述多个同时可寻址单元中的一个同时可寻址单元中的块;以及
主机接口,可操作来从耦合到所述主机接口的主机处理器接收主机芯片使能信号,其中,所述处理器可操作来将所述主机芯片使能信号映射到在所述同时可寻址单元中的一个同时可寻址单元内的内部芯片使能信号,该内部芯片使能信号用于激活该同时可寻址单元;
其中,所述处理器还被配置为根据包括行程参数和跨度参数的映射关系来将所述块地址映射到所述多个同时可寻址单元中的所述一个同时可寻址单元中的块,其中,所述行程参数包括利用所述主机芯片使能信号可访问的同时可寻址单元的数目,所述跨度参数包括一个同时可寻址单元内的用于操作命令的块数。
2.如权利要求1所述的封装件,其中,所述处理器从所述接口接收用于读或写操作的命令,该操作是用于在一个或多个同时可寻址单元上执行同时基元事务处理的读或写命令的序列。
3.如权利要求2所述的封装件,其中,从该同时可寻址单元读取的或者写入该同时可寻址单元的数据量等于该同时可寻址单元的跨度参数N与如下字节数之积:所述字节数等于页大小加上与允许用于元数据的页相关联的字节数,其中,N是表示要读取或写入的页的数目的正整数,并且跨度是该同时可寻址单元内的用于操作命令的块数。
4.如权利要求1所述的封装件,还包括:
纠错引擎,用于对从同时可寻址单元读取的或写入同时可寻址单元的数据块应用纠错。
5.如权利要求4所述的封装件,其中,所述纠错引擎被包括在同时可寻址单元中的一个或多个同时可寻址单元中。
6.如权利要求1所述的封装件,还包括:
流水线管理引擎,用于管理同时可寻址单元的吞吐量。
7.如权利要求1所述的封装件,其中,所述处理器对两个或更多个同时可寻址单元执行同时读或写操作。
8.一种由耦合到主机处理器的非易失性存储器(NVM)封装件执行的方法,包括:
从所述主机处理器接收块地址;以及
将所述块地址映射到由所述块地址标识的多个同时可寻址单元中的一个同时可寻址单元中的块;
从所述主机处理器接收主机芯片使能信号;以及
将所述主机芯片使能信号映射到在所述同时可寻址单元中的一个同时可寻址单元内的内部芯片使能信号;以及
激活该内部芯片使能信号;
其中,映射所述块地址还包括根据包括行程参数和跨度参数的映射关系来映射所述块地址,其中,所述行程参数包括利用所述主机芯片使能信号可访问的同时可寻址单元的数目,所述跨度参数包括一个同时可寻址单元内的用于操作命令的块数。
9.如权利要求8所述的方法,还包括:
接收用于读或写操作的命令;以及
根据该命令在一个或多个同时可寻址单元上执行一个或多个同时基元事务处理。
10.如权利要求9所述的方法,其中,从该同时可寻址单元读取或者写入该同时可寻址单元的数据量等于该同时可寻址单元的跨度参数N与如下字节数之积:所述字节数等于页大小加上与允许用于元数据的页相关联的字节数,其中,N是表示要读取或写入的页的数目的正整数,并且跨度是该同时可寻址单元内的用于操作命令的块数。
11.一种对存储在非易失性存储器NVM封装件中的数据进行操作的系统,包括:
接口,用于向所述NVM封装件发送对参数的请求,所述NVM封装件包括多个同时可寻址单元,并且所述接口用于接收行程参数和跨度参数,其中所述行程参数指示所述NVM封装件内的利用由主机处理器提供的单个芯片使能信号可访问的同时可寻址单元的数目,并且其中所述跨度参数指示一个同时可寻址单元内的用于操作命令的块数;以及
耦合到所述接口的处理器,所述处理器可操作来向所述NVM封装件发送用于在一个或多个同时可寻址单元上同时执行基元事务处理的命令序列,所述命令序列包括由所述主机处理器基于所述行程参数和所述跨度参数生成的地址。
12.如权利要求11所述的系统,其中,所述处理器可操作来向所述NVM封装件发送带有写命令的数据,其中,数据的大小等于跨度N与如下字节数之积:所述字节数等于页大小加上与允许用于元数据的每个页大小相关联的字节数,其中,N是表示要写入的页的数目的正整数。
13.如权利要求11所述的系统,其中,所述处理器可操作来向所述NVM封装件发送读命令,其中,要读取的数据大小等于跨度N与如下字节数之积:所述字节数等于页大小加上与允许用于元数据的每个页大小相关联的字节数,其中,N是表示要读取的页的数目的正整数。
14.一种由耦合到非易失性存储器NVM封装件的主机处理器执行的方法,包括:
向所述NVM封装件发送对参数的请求,所述NVM封装件包括多个同时可寻址单元;
作为该请求的响应,接收行程参数和跨度参数,其中所述行程参数指示所述NVM封装件内的利用由所述主机处理器提供的单个芯片使能信号可访问的同时可寻址单元的数目,并且其中所述跨度参数指示一个同时可寻址单元内的用于操作命令的块数;以及
向所述NVM封装件发送用于在一个或多个同时可寻址单元上同时执行基元事务处理的命令序列,所述命令序列包括由所述主机处理器基于所述行程参数和所述跨度参数生成的地址。
15.如权利要求14所述的方法,还包括:
向所述NVM封装件发送带有写命令的数据,其中,数据的大小等于跨度N与如下字节数之积:所述字节数等于页大小加上与允许用于元数据的每个页大小相关联的字节数,其中,N是表示要写入的页的数目的正整数。
CN200980157384.5A 2008-12-23 2009-11-24 用于管理型非易失性存储器的地址映射的体系结构 Expired - Fee Related CN102326154B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14043608P 2008-12-23 2008-12-23
US61/140,436 2008-12-23
US12/614,369 2009-11-06
US12/614,369 US8370603B2 (en) 2008-12-23 2009-11-06 Architecture for address mapping of managed non-volatile memory
PCT/US2009/065804 WO2010074876A1 (en) 2008-12-23 2009-11-24 Architecture for address mapping of managed non-volatile memory

Publications (2)

Publication Number Publication Date
CN102326154A CN102326154A (zh) 2012-01-18
CN102326154B true CN102326154B (zh) 2014-08-06

Family

ID=42267765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980157384.5A Expired - Fee Related CN102326154B (zh) 2008-12-23 2009-11-24 用于管理型非易失性存储器的地址映射的体系结构

Country Status (7)

Country Link
US (2) US8370603B2 (zh)
EP (1) EP2380083A1 (zh)
JP (1) JP2012513647A (zh)
KR (1) KR101417236B1 (zh)
CN (1) CN102326154B (zh)
HK (1) HK1166386A1 (zh)
WO (1) WO2010074876A1 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8806144B2 (en) 2009-05-12 2014-08-12 Stec, Inc. Flash storage device with read cache
TWI435215B (zh) * 2009-08-26 2014-04-21 Phison Electronics Corp 下達讀取指令與資料讀取方法、控制器與儲存系統
US8489907B2 (en) 2009-09-16 2013-07-16 Apple Inc. Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller
CN102483717B (zh) * 2009-11-30 2014-09-17 惠普发展公司,有限责任合伙企业 用于存储器磨损平衡的重映射方法及设备
GB2488259A (en) * 2009-12-11 2012-08-22 Ibm Flash memory controller
US8745304B2 (en) * 2010-02-01 2014-06-03 Standard Microsystems Corporation USB to SD bridge
US8411519B2 (en) * 2010-06-04 2013-04-02 Apple Inc. Selective retirement of blocks
US8737138B2 (en) 2010-11-18 2014-05-27 Micron Technology, Inc. Memory instruction including parameter to affect operating condition of memory
JP5992713B2 (ja) * 2012-03-30 2016-09-14 株式会社ソニー・インタラクティブエンタテインメント メモリシステム、その制御方法及び情報処理装置
KR20130114486A (ko) 2012-04-09 2013-10-17 삼성전자주식회사 씨에이유 별 병렬 큐를 가진 비휘발성 메모리 장치, 이를 포함하는 시스템, 및 비휘발성 메모리 장치의 동작 방법
KR20140027859A (ko) * 2012-08-27 2014-03-07 삼성전자주식회사 호스트 장치 및 이를 포함하는 시스템
KR102025088B1 (ko) 2012-09-03 2019-09-25 삼성전자 주식회사 메모리 컨트롤러 및 상기 메모리 컨트롤러를 포함하는 전자장치
KR101979735B1 (ko) 2012-11-02 2019-05-17 삼성전자 주식회사 비휘발성 메모리 시스템 및 이와 통신하는 호스트
US9218279B2 (en) 2013-03-15 2015-12-22 Western Digital Technologies, Inc. Atomic write command support in a solid state drive
JP2014199591A (ja) * 2013-03-29 2014-10-23 株式会社東芝 記憶装置制御システム、記憶装置制御装置及びプログラム
US9170938B1 (en) 2013-05-17 2015-10-27 Western Digital Technologies, Inc. Method and system for atomically writing scattered information in a solid state storage device
US9612773B2 (en) * 2013-11-21 2017-04-04 Samsung Electronics Co., Ltd. User device having a host flash translation layer (FTL), a method for transferring an erase count thereof, a method for transferring reprogram information thereof, and a method for transferring a page offset of an open block thereof
US9558229B2 (en) * 2013-11-26 2017-01-31 Sap Se Transaction private log buffering for high performance of transaction processing
KR102202575B1 (ko) * 2013-12-31 2021-01-13 삼성전자주식회사 메모리 관리 방법 및 장치
KR102168169B1 (ko) 2014-01-07 2020-10-20 삼성전자주식회사 비휘발성 메모리 시스템의 메모리 맵핑 방법 및 이를 제공하는 시스템
KR20150116352A (ko) 2014-04-07 2015-10-15 삼성전자주식회사 메모리 제어 방법 및 시스템
US10402319B2 (en) 2014-07-25 2019-09-03 Micron Technology, Inc. Apparatuses and methods for concurrently accessing different memory planes of a memory
US9880748B2 (en) * 2015-02-13 2018-01-30 Qualcomm Incorporated Bifurcated memory management for memory elements
KR20170060300A (ko) 2015-11-24 2017-06-01 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
CN105739919B (zh) * 2016-01-21 2018-10-12 捷鼎创新股份有限公司 资料存取系统及方法
CN108027765B (zh) * 2016-03-17 2020-06-26 华为技术有限公司 一种内存访问方法以及计算机系统
KR102542375B1 (ko) 2016-08-19 2023-06-14 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그의 동작 방법
CN108241585B (zh) * 2016-12-23 2023-08-22 北京忆芯科技有限公司 大容量nvm接口控制器
CN108241468B (zh) * 2016-12-23 2021-12-07 北京忆芯科技有限公司 Io命令处理方法与固态存储设备
KR102516547B1 (ko) * 2018-03-08 2023-04-03 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
CN111506255B (zh) * 2019-01-31 2023-09-26 山东存储之翼电子科技有限公司 基于nvm的固态硬盘元数据管理方法及系统
US11099786B2 (en) 2019-12-30 2021-08-24 Advanced Micro Devices, Inc. Signaling for heterogeneous memory systems
CN113076218B (zh) * 2020-07-03 2022-03-25 北京忆芯科技有限公司 Nvm芯片读数据错误快速处理方法及其控制器
CN112180808B (zh) * 2020-10-21 2021-08-13 苏州华兴源创科技股份有限公司 一种伺服控制方法、装置、系统、计算机设备和存储介质
CN113094639B (zh) * 2021-03-15 2022-12-30 Oppo广东移动通信有限公司 一种dft并行处理方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092158A (en) * 1997-06-13 2000-07-18 Intel Corporation Method and apparatus for arbitrating between command streams

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61217999A (ja) * 1985-03-25 1986-09-27 Toshiba Corp 半導体メモリ
JPS63285800A (ja) 1987-05-19 1988-11-22 Fujitsu Ltd 半導体メモリ装置
JPH01223700A (ja) * 1988-03-01 1989-09-06 Hitachi Ltd 半導体記憶装置
US5341489A (en) 1992-04-14 1994-08-23 Eastman Kodak Company Memory card with programmable interleaving
US5434872A (en) 1992-07-28 1995-07-18 3Com Corporation Apparatus for automatic initiation of data transmission
JP3177015B2 (ja) * 1992-10-14 2001-06-18 株式会社東芝 半導体メモリ装置の制御方法
US5524218A (en) 1993-12-23 1996-06-04 Unisys Corporation Dedicated point to point fiber optic interface
EP0669720B1 (en) 1994-02-18 2000-01-26 STMicroelectronics S.r.l. Programmable logic array structure for semiconductor nonvolatile memories, particularly flash-EPROMs
US5606710A (en) 1994-12-20 1997-02-25 National Semiconductor Corporation Multiple chip package processor having feed through paths on one die
US5615162A (en) 1995-01-04 1997-03-25 Texas Instruments Incorporated Selective power to memory
KR0157342B1 (ko) 1995-06-09 1998-12-01 김광호 불휘발성 반도체 메모리의 전압 센싱 방법
US5812335A (en) 1995-09-01 1998-09-22 Adaptec, Inc. Programmable data transfer without sector pulses in a headerless disk drive architecture
US5751631A (en) 1996-10-21 1998-05-12 Liu; David K. Y. Flash memory cell and a new method for sensing the content of the new memory cell
JP3597393B2 (ja) * 1998-08-19 2004-12-08 シャープ株式会社 データ記録再生装置
JP2000067574A (ja) * 1998-08-21 2000-03-03 Mitsubishi Electric Corp 半導体記憶装置
US6279114B1 (en) 1998-11-04 2001-08-21 Sandisk Corporation Voltage negotiation in a single host multiple cards system
JP2000163273A (ja) * 1998-11-25 2000-06-16 Nec Corp メモリ誤り訂正・検出回路試験システムおよび試験方法
US6134149A (en) 1999-03-01 2000-10-17 Integrated Memory Technologies, Inc. Method and apparatus for reducing high current during chip erase in flash memories
US6148354A (en) 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
US7827348B2 (en) 2000-01-06 2010-11-02 Super Talent Electronics, Inc. High performance flash memory devices (FMD)
RU2257609C2 (ru) 1999-10-21 2005-07-27 Мацусита Электрик Индастриал Ко., Лтд. Устройство доступа к полупроводниковой карте памяти, компьютерно-считываемый носитель записи, способ инициализации и полупроводниковая карта памяти
US6710906B2 (en) 1999-12-03 2004-03-23 Gentex Corporation Controlled diffusion coefficient electrochromic materials for use in electrochromic mediums and associated electrochromic devices
US6684301B1 (en) 2001-05-31 2004-01-27 Lsi Logic Corporation Out of order execution memory access request FIFO
JP4256600B2 (ja) 2001-06-19 2009-04-22 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
US7346825B2 (en) 2001-09-06 2008-03-18 Intel Corporation Error method, system and medium
US7181611B2 (en) 2002-10-28 2007-02-20 Sandisk Corporation Power management block for use in a non-volatile memory system
US7069399B2 (en) 2003-01-15 2006-06-27 Via Technologies Inc. Method and related apparatus for reordering access requests used to access main memory of a data processing system
US20040153902A1 (en) 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
JP4256198B2 (ja) 2003-04-22 2009-04-22 株式会社東芝 データ記憶システム
US20060164907A1 (en) 2003-07-22 2006-07-27 Micron Technology, Inc. Multiple flash memory device management
JP4085983B2 (ja) 2004-01-27 2008-05-14 セイコーエプソン株式会社 情報処理装置およびメモリアクセス方法
EP1635261B1 (en) 2004-09-10 2008-06-11 STMicroelectronics S.r.l. Memory with embedded error correction code circuit
KR100876084B1 (ko) 2007-02-13 2008-12-26 삼성전자주식회사 플래시 저장 장치로 삭제 정보를 전달할 수 있는 컴퓨팅시스템
KR100621631B1 (ko) 2005-01-11 2006-09-13 삼성전자주식회사 반도체 디스크 제어 장치
US7426672B2 (en) 2005-04-28 2008-09-16 International Business Machines Corporation Method for implementing processor bus speculative data completion
KR100739722B1 (ko) 2005-08-20 2007-07-13 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템
US20070050668A1 (en) 2005-09-01 2007-03-01 Micron Technology, Inc. Test mode to force generation of all possible correction codes in an ECC memory
JP4999325B2 (ja) 2005-12-21 2012-08-15 ルネサスエレクトロニクス株式会社 フラッシュメモリ
US7423915B2 (en) 2006-01-17 2008-09-09 Spansion Llc Random cache read using a double memory
US7793059B2 (en) 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
US7716411B2 (en) * 2006-06-07 2010-05-11 Microsoft Corporation Hybrid memory device with single interface
US7372715B2 (en) 2006-06-14 2008-05-13 Micron Technology, Inc. Architecture and method for NAND flash memory
US7609703B2 (en) 2006-09-15 2009-10-27 Hewlett-Packard Development Company, L.P. Group communication system and method
JP2008134736A (ja) 2006-11-27 2008-06-12 Fujifilm Corp 電子機器
KR101354152B1 (ko) 2006-12-18 2014-01-27 삼성전자주식회사 비휘발성 데이터 저장장치에 구비된 가상 파일 시스템의작업 스케줄링 방법 및 장치
JP5020625B2 (ja) 2006-12-22 2012-09-05 キヤノン株式会社 インタフェース回路
JP2008287404A (ja) 2007-05-16 2008-11-27 Hitachi Ltd 読み出しによる非アクセスメモリセルのデータ破壊を検出及び回復する装置、及びその方法
US7975109B2 (en) 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
KR101466694B1 (ko) 2007-08-28 2014-11-28 삼성전자주식회사 Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법
KR101433859B1 (ko) 2007-10-12 2014-08-27 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 파일 데이터 관리 방법
US7991943B2 (en) 2007-10-26 2011-08-02 Standard Microsystems Corporation Implementation of one time programmable memory with embedded flash memory in a system-on-chip
TWI384488B (zh) * 2007-12-24 2013-02-01 Skymedi Corp Nonvolatile storage device and its data writing method
US8417893B2 (en) 2008-02-04 2013-04-09 Apple Inc. Memory mapping techniques
US7979658B2 (en) 2008-03-25 2011-07-12 Spansion Llc Secure management of memory regions in a memory
TWI373773B (en) * 2008-05-27 2012-10-01 Phison Electronics Corp Storage sysetm having multiple non-volatile memory, and controller and access method thereof
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US20100287329A1 (en) 2009-05-06 2010-11-11 Apple Inc. Partial Page Operations for Non-Volatile Memory Systems
US8438453B2 (en) 2009-05-06 2013-05-07 Apple Inc. Low latency read operation for managed non-volatile memory
US8321647B2 (en) 2009-05-06 2012-11-27 Apple Inc. Multipage preparation commands for non-volatile memory systems
US8495332B2 (en) 2009-07-24 2013-07-23 Apple Inc. Controller for optimizing throughput of read operations
US8489907B2 (en) 2009-09-16 2013-07-16 Apple Inc. Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller
US8838877B2 (en) 2009-09-16 2014-09-16 Apple Inc. File system derived metadata for management of non-volatile memory
US9092340B2 (en) 2009-12-18 2015-07-28 Sandisk Technologies Inc. Method and system for achieving die parallelism through block interleaving
US8356137B2 (en) 2010-02-26 2013-01-15 Apple Inc. Data storage scheme for non-volatile memories based on data priority

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092158A (en) * 1997-06-13 2000-07-18 Intel Corporation Method and apparatus for arbitrating between command streams

Also Published As

Publication number Publication date
EP2380083A1 (en) 2011-10-26
JP2012513647A (ja) 2012-06-14
CN102326154A (zh) 2012-01-18
US20130212318A1 (en) 2013-08-15
HK1166386A1 (zh) 2012-10-26
US8370603B2 (en) 2013-02-05
KR20110098003A (ko) 2011-08-31
WO2010074876A1 (en) 2010-07-01
KR101417236B1 (ko) 2014-07-08
US8862851B2 (en) 2014-10-14
US20100161886A1 (en) 2010-06-24

Similar Documents

Publication Publication Date Title
CN102326154B (zh) 用于管理型非易失性存储器的地址映射的体系结构
CN102422271B (zh) 用于非易失性存储器系统的多页准备命令
CN102414666B (zh) 用于受管理的非易失性存储器的低等待时间读取操作
US20190265889A1 (en) Memory controllers, memory systems, solid state drives and methods for processing a number of commands
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
US7392343B2 (en) Memory card having a storage cell and method of controlling the same
US20170322897A1 (en) Systems and methods for processing a submission queue
CN108572933A (zh) 用于直接存储器存取的数据缓冲器指针找取
US20040111583A1 (en) Apparatus and method for controlling flash memories
CN109815160A (zh) 最后写入页搜索
CN104281413A (zh) 命令队列管理方法、存储器控制器及存储器储存装置
CN109213423B (zh) 基于地址屏障无锁处理并发io命令
US11106390B1 (en) Combining in-process reads to reduce die collisions
US9152348B2 (en) Data transmitting method, memory controller and data transmitting system
CN114201108B (zh) 包括映射高速缓存的控制器以及包括控制器的存储器系统
CN109213424B (zh) 并发io命令的无锁处理方法
JP5982148B2 (ja) 半導体記憶装置
CN117766004A (zh) 数据写入方法、存储器存储装置及存储器控制电路单元
CN117573208A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1166386

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1166386

Country of ref document: HK

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: 20140806

Termination date: 20201124