CN103052948A - 用于非易失性半导体存储器的接口管理控制系统和方法 - Google Patents

用于非易失性半导体存储器的接口管理控制系统和方法 Download PDF

Info

Publication number
CN103052948A
CN103052948A CN201180038435XA CN201180038435A CN103052948A CN 103052948 A CN103052948 A CN 103052948A CN 201180038435X A CN201180038435X A CN 201180038435XA CN 201180038435 A CN201180038435 A CN 201180038435A CN 103052948 A CN103052948 A CN 103052948A
Authority
CN
China
Prior art keywords
data
event
management module
page
nvsm
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.)
Granted
Application number
CN201180038435XA
Other languages
English (en)
Other versions
CN103052948B (zh
Inventor
C·K·李
S-H·F·奥
朴正日
申呟锡
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.)
Kaiwei International Co
Marvell International Ltd
Marvell Asia Pte Ltd
Original Assignee
Mawier International Trade Co Ltd
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 Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN103052948A publication Critical patent/CN103052948A/zh
Application granted granted Critical
Publication of CN103052948B publication Critical patent/CN103052948B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • 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/7201Logical to physical mapping or translation of blocks or pages

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)

Abstract

一种控制系统包括:控制模块(27),配置成基于用于数据传送事件中每个事件的至少两个描述符(84)控制数据块在接口管理模块(50)与非易失性半导体存储器(28)之间的数据传送事件。针对数据传送事件的读取事件或者编程事件预备非易失性半导体存储器。接口管理模块和非易失性半导体存储器被配置成在固态存储器驱动(14)内操作。命令管理模块(60)被配置成基于至少两个描述符生成参数信号。接口管理模块被配置成基于参数信号生成指令信号(102)并且向非易失性半导体存储器发送指令信号以执行读取事件或者编程事件。

Description

用于非易失性半导体存储器的接口管理控制系统和方法
相关申请的交叉引用
本申请要求对2011年6月22日提交的第13/166,340号美国专利申请的优先权和2010年7月7日提交的第61/362,251号美国临时申请的权益。上述申请的公开内容通过整体引用而结合于此。
技术领域
本公开内容涉及非易失性半导体存储器访问系统,并且更具体地涉及用于非易失性半导体存储器的数据传送控制系统。
背景技术
这里提供的背景技术描述是为了一般地呈现公开内容的背景。当前名义的发明人的工作在这一背景技术章节中描述该工作的程度上以及该描述的可以在提交时未另外限定为现有技术的方面既未明确地也未暗示地承认为相对于本公开内容的现有技术。
非易失性半导体存储器(NVSM)驱动(例如闪存驱动)包括NVSM并且基于数据页面的大小来操作。例如,向NVSM和从NVSM传送的数据分组成数据集。每个数据集具有与一个或者多个数据页面的长度相等的长度。数据页面可以具有例如8千字节(KB)的长度。
NVSM驱动可以例如包括NVSM接口、缓冲器管理模块、纠错码(ECC)模块、接口管理模块和NVSM。NVSM接口可以与主机通信。在NVSM接口与主机之间传送数据。缓冲器管理模块在存储于NVSM之前从主机接收数据并且在向主机传送之前从NVSM接收数据。ECC模块对向NVSM提供的数据编码并且对从NVSM接收的数据解码。接口管理模块控制在ECC模块与NVSM之间的数据传送。
NVSM控制模块响应于从主机接收的访问请求信号来生成秒释放。描述符可以例如指示是否将执行读取操作或者编程(即写入)操作、待传送的数据量和在NVSM中的待访问地址。基于描述符操作ECC模块和接口管理模块。
接口控制模块经由多个信道(例如每个NVSM芯片8个信道)与NVSM通信,并且包括用于每个信道的先入先出(FIFO)寄存器。在读取和编程操作期间依次访问FIFO寄存器。每个FIFO寄存器的大小等于一个或者多个数据页面的大小。
在编程操作期间,ECC模块在存储于NVSM之前向接口控制模块以基于页面的格式传送数据。ECC模块可以向每个FIFO寄存器传送一个或者多个数据页面(M个页面),其中M是大于或者等于1的整数。ECC模块向每个FIFO寄存器传送的页面数目依赖于该NVSM驱动的页面格式。针对传送的每组M个页面生成单个描述符。
例如,如果ECC模块在具有单页面格式的NVSM驱动中操作,则向每个FIFO寄存器传送1个数据页面。在这一例子中,每个FIFO寄存器的大小等于1个数据页面的大小。如果ECC模块在具有双页面格式的NVSM驱动中操作,则向每个FIFO寄存器传送2个数据页面,并且每个FIFO寄存器的大小等于2个数据页面的大小。在向下一(或者后续)FIFO寄存器传送数据之前向当前FIFO寄存器传送M个数据页面。针对读取操作相反地执行上文描述的数据传送。
由于直至当前FIFO寄存器接收M个数据页面才向下一FIFO寄存器传送数据,所以可能产生数据传送延迟。可能在一个或者多个FIFO寄存器经历这些延迟,并且这些延迟可能随着更高阶页面格式而增加。页面格式的阶指代在单个数据传送事件期间传送的页面数目。数据传送事件指代向或者从NVSM的信道之一传送数据。例如在具有2页面格式的NVSM驱动中,如果“瓶颈”由于在ECC模块与第一信道之间的速度差而在第一FIFO寄存器出现,则延迟可能在第一FIFO寄存器和在所有后续FIFO寄存器出现。由于向单个FIFO寄存器传送两个数据页面,所以当延迟第一数据页面时延迟第二数据页面。在向第一FIFO寄存器传送第二数据页面时的延迟也延迟向在第一FIFO寄存器之后的FIFO寄存器的数据传送。
发明内容
提供一种控制系统并且该控制系统包括:控制模块,配置成基于用于数据传送事件中的每个数据传送事件的至少两个描述符控制数据块在接口管理模块与非易失性半导体存储器之间的数据传送事件。针对数据传送事件的读取事件或者编程事件预备非易失性半导体存储器。接口管理模块和非易失性半导体存储器被配置成在固态存储器驱动内操作。命令管理模块被配置成基于至少两个描述符生成参数信号。接口管理模块被配置成基于参数信号生成指令信号并且向非易失性半导体存储器发送指令信号以执行读取事件或者编程事件。
在其它一些特征中,数据传送事件中的每个数据传送事件包括传送数据页面。数据页面的大小等于数据块中的至少两个数据块的大小。基于至少两个描述符中的相应描述符传送数据块中的至少两个数据块。
在其它一些特征中,数据传送事件中的每个数据传送事件包括传送数据页面。在其它一些特征中,接口管理模块被配置成针对数据传送事件中的每个数据传送事件生成用于发起传送数据块的触发指令集。
在其它一些特征中,至少两个描述符的数目等于针对数据传送事件中的每个数据传送事件生成的触发指令集数目。在其它一些特征中,接口管理模块被配置成在用于数据传送事件中的每个数据传送事件的预备时段之前生成触发指令集。在预备时段之后,接口管理模块被配置成生成读取指令集或者编程指令集。数据传送事件中的每个数据传送事件包括触发指令集中的至少一个触发指令集和读取指令集或者编程指令集中的至少一个指令集。
在其它一些特征中,至少两个描述符中的每个描述符指示分配块大小、非易失性半导体存储器的地址以及数据传送事件是否为读取、编程或者擦除事件。
在其它一些特征中,参数信号的位指示待传送的数据量、非易失性半导体存储器的地址以及数据传送事件是否为读取、编程或者擦除事件。
在其它一些特征中,参数信号是第一参数信号。命令管理模块被配置成基于至少两个描述符生成第二参数信号。纠错码模块被配置成基于第二参数信号向接口管理模块和从接口管理模块传送数据块。
在其它一些特征中,接口管理模块包括先入先出寄存器。纠错码模块被配置成向多个先入先出寄存器扩展数据块。每个先入先出寄存器的大小少于数据页面的大小。
在其它一些特征中,提供一种固态存储器驱动并且该固态存储器驱动包括控制系统、缓冲器管理模块和纠错码模块。缓冲器管理模块被配置成从与固态存储器驱动通信的主机接收主机数据扇区、基于主机数据扇区生成第一驱动数据扇区、接收第二驱动数据扇区并且向主机发送主机数据扇区。纠错码模块被配置成从缓冲器管理模块向接口管理模块传送第一驱动数据扇区并且从接口管理模块向缓冲器管理模块传送第二驱动数据扇区。
本公开内容的更多适用领域将从具体实施方式、权利要求和附图中变得清楚。具体实施方式和具体例子旨在于仅举例说明而并非旨在于限制公开内容的范围。
附图说明
本公开内容将从具体实施方式和附图中变得更完全地被理解,在附图中:
图1是NVSM存储系统的功能框图,该NVSM存储系统并入根据本公开内容的接口管理控制系统;
图2是根据本公开内容的接口管理控制系统的部分的功能框图;
图3是图示了根据本公开内容的用于基于页面的传送的单页面读取事件的定时图;
图4是图示了根据本公开内容的用于基于页面的传送的单页面编程事件的定时图;
图5是图示了根据本公开内容的使用多个描述符的多页面读取事件的定时图;
图6是图示了根据本公开内容的使用多个描述符的多页面编程操作的定时图;
图7是根据本公开内容的接口管理控制系统的部分的功能框图,该功能框图图示了具有页面大小的传送的多页面编程事件;
图8是图示了根据本公开内容的读取事件的定时图,该读取事件具有与传送的分配块相同数目的描述符;
图9是图示了根据本公开内容的读取事件的定时图,该读取事件具有比传送的分配块更多的描述符;
图10是图示了根据本公开内容的具有多个指令集的多分配块读取事件的定时图;
图11是图示了根据本公开内容的编程事件的定时图,该编程事件具有与传送的分配块相同数目的描述符;
图12是图示了根据本公开内容的编程事件的定时图,该编程事件具有比传送的分配块更多的描述符;
图13是图示了根据本公开内容的具有多个指令集的多分配块读取事件的定时图;
图14是根据本公开内容的接口管理控制系统的部分的功能框图,该功能框图图示了具有分配块大小的传送的基于分配块的编程事件;
图15是根据本公开内容的接口管理控制系统的部分的功能框图,该接口管理控制系统并入多个编码器和解码器;并且
图16图示了根据本公开内容的操作NVSM存储系统和NVSM驱动的方法。
具体实施方式
以下描述在性质上仅为示例并且决不限制公开内容、它的应用或者使用。为了清楚,相同标号将在附图中用来标识相似要素。如这里所用,短语A、B和C中的至少一个应当解释为使用非异或OR的逻辑(A或者B或者C)。应当理解可以按不同顺序执行方法内的步骤而不改本公开内容的原理。
如这里所用,术语模块可以指代以下各项、是以下各项的部分或者包括以下各项:专用集成电路(ASIC);电子电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器(共享、专用或者组);提供描述的功能的其它适当部件;或者上述模块中的一些或者所有模块比如在片上系统中的组合。术语模块可以包括存储处理器执行的代码的存储器(共享、专用或者组)。
术语代码如上文所用可以包括软件、固件和/或微代码并且可以指代程序、例程、函数、类和/或其它对象。术语共享如上文所用意味着可以使用单个(共享)处理器执行来自多个模块的一些或者所有代码。此外,来自多个模块的一些或者所有代码可以由单个(共享)存储器存储。术语组如上文所用意味着可以使用处理器组执行来自单个模块的一些或者所有代码。此外,可以使用存储器组存储来自单个模块的一些或者所有代码。
一个或者多个处理器执行的一个或者多个计算机程序可以实施这里描述的装置和方法。计算机程序包括存储于非瞬态有形计算机可读介质上的处理器可执行指令。计算机程序也可以包括存储的数据。非瞬态有形计算机可读介质的非限制例子为非易失性存储器、磁储存器和光学储存器。
虽然术语第一、第二、第三等这里可以用来描述各种单元、部件、信道、模块和/或设备,但是这些单元、部件、信道、模块和/或设备不应受这些术语限制。这些数据可以仅用来区分一个单元、部件、信道、模块和/或设备与另一单元、部件、信道、模块和/或设备。术语如“第一”、“第二”和其它数值术语在这里使用时除非上下文另有明示则未暗示序列或者顺序。因此,下文讨论的第一单元、部件、信道、模块和/或设备可以称为第二单元、部件、信道、模块和/或设备而未脱离例子实施例的教导。
在以下描述中,术语“非易失性半导体存储器(NVSM)”可以指代相变存储器(PCM)、电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)和/或随机存取存储器(RAM)。EEPROM的两个例子是NAND闪存和NOR闪存。
也在以下描述中,术语“主机”可以指代向NVSM驱动传输数据和/或从NVSM访问数据的设备。NVSM驱动可以是闪存驱动、通用串行总线(USB)驱动、固态存储器驱动等。
作为少数例子,主机可以指代计算机、相机、手持设备、便携设备、蜂窝电话、打印机、个人数据助理、电子笔记本计算机、电视、显示器、电器、监视系统等。计算机的例子是桌面型计算机、膝上型计算机、电子笔记本计算机等。电器的例子是洗衣机、干衣机、冰箱等。NVSM包括NVSM并且可以未包括旋转磁存储介质、比如硬盘驱动母板。监视系统的例子包括防盗监视器、烟雾检测系统、婴儿监视器等。
此外,这里公开各种系统单元、比如模块、网络设备和电路部件。公开系统单元的布置例子并且这些布置例子包括相邻单元和非相邻单元。示出了相邻单元相互直接连接。示出了非相邻单元相互间接连接。
由于有本公开内容的许多实施方式,布置未明确地示出所有实施方式。例如图1、图2、图7、图14和图15中所示相邻和非相邻单元可以相互直接或者间接连接。相邻和非相邻的那样可以相互无线通信和/或可以经由有线链路相互通信。无线通信可以包括蓝牙设备和/或例如满足IEEE标准801.11、801.11a、801.11b、801.11g、801.11h、801.11n、801.16和802.20。
在图1中示出了非易失性半导体存储器(NVSM)存储系统10。NVSM存储系统10包括主机12(或者主机侧)和NVSM驱动14(或者NVSM侧)。主机12包括主机控制模块16和主机接口18。NVSM驱动14经由NVSM驱动接口20与主机12通信。NVSM驱动14包括NVSM驱动接口20、接收路径22、发送路径24、接口管理控制系统26和NVSM 28。NVSM驱动接口20与主机接口18通信。接收和发送路径22、24在NVSM驱动接口20与NVSM 28之间传送数据。接口管理控制系统26包括NVSM控制模块27。NVSM控制模块27控制向NVSM 28和从NVSM 28的数据传送。
接口管理控制系统26基于预定、选择和/或确定的数据分配块(或者分配单位(AU))大小来操作。这不同于基于单个固定块大小操作的传统NVSM驱动。在传统NVSM中,单个块大小等于数据页面的大小。
在本公开内容中,数据分配块指代NVSM驱动14设置的数据量(或者大小边界)并且用来在NVSM驱动14模块的设备和/或之间传送数据。向NVSM 28和从NVSM 28的每个数据传送事件包括一个或者多个数据分配块。数据传送事件可以是编程事件或者读取事件。分配块的大小可以针对不同读取事件、针对不同编程事件和/或在读取事件与编程事件之间相同或者不同。分配块的大小可以由NVSM控制模块27确定、设置和/或调整。下文进一步描述分配块、分配块大小和分配块传送。
主机控制模块16经由主机接口18向NVSM驱动14发送主机数据和从NVSM驱动14接收数据。这可以包括读取、写入(或者编程)和擦除访问事件。主机12可以基于接收的数据对象生成HDS和/或请求来自NVSM前端14的主机数据扇区(HDS)。HDS可以是从主机12向NVSM驱动14发送的最小长度数据元。在接口18、20的相应端口之间发送HDS。接口18、20可以例如是串行高级技术附件(SATA)接口、小型计算机系统接口(SCSI)、串行附件SCSI(SAS)、光纤信道接口、通用串行总线(USB)接口等。
主机控制模块16也可以生成诸如数据编程信号、数据读取信号、数据擦除信号等访问请求信号30。访问请求信号30可以由NVSM控制模块27接收和/或经由NVSM驱动接口20由NVSM驱动14的其它模块接收。NVSM控制模块27基于访问请求信号30控制对NVSM 28的访问。NVSM驱动14经由NVSM驱动接口20接收HDS。NVSM控制模块27可以基于访问请求信号30访问和/或请求来自NVSM 28的驱动数据扇区(DDS)。
接收路径22包括压缩模块40、加密模块42、缓冲器管理模块44、驱动数据扇区(DDS)生成模块46、纠错码(ECC)模块48、接口管理模块50和NVSM 28。发送路径24包括NVSM 28、接口管理模块50、ECC模块48、HDS生成模块52、缓冲器管理模块44、解密模块54和解压模块56。可以组合缓冲器管理模块44以及DDS和HDS生成模块46、52以形成单个模块。接口管理控制系统26包括NVSM控制模块27、命令管理模块60、ECC模块48和接口管理模块50。NVSM驱动14的模块可以称为NVSM存储系统。
NVSM驱动接口20可以从主机接口18接收单个数据流或者多个并发并行数据流。可以向压缩模块40传送数据流。当主机和NVSM接口18、20例如是SAS接口时可以接收多个并发并行数据流。
压缩模块40在可能时并且在由缓冲器管理模块44接收之前压缩从主机接口18接收的HDS。对与从主机接口18接收的HDS相同长度的HDS执行压缩。压缩模块40可以使用有损和/或无损压缩方法。有损压缩和解压在压缩和解压之后提供与原数据接近、但是不相同的数据。无损压缩和解压在压缩和解压之后提供与原数据相同的数据的重建。无损数据压缩包括检测重复位模式并且去除冗余性。
压缩模块40在可能时压缩从主机12接收的主机数据扇区(HDS)。可以在接收时未压缩、部分压缩和/或全压缩HDS。HDS可以是与从主机12向NVSM驱动14发送的最小长度数据元。某些HDS例如在使用无损压缩并且对应数据模式未包括冗余性时可能不可压缩。
加密模块42加密压缩的HDS。加密模块42加密从压缩模块40接收的数据。加密可以包括一个或者多个公用和私用密钥。加密也可以包括NVSM驱动14或者NVSM驱动14的部件专属的一个或者多个密钥,比如NVSM控制模块27和/或NVSM 28专属的密钥。
缓冲器管理模块44在缓冲器70中存储HDS并且向DDS生成模块46转发HDS。缓冲器70可以包括易失性存储器,诸如如RAM、动态RAM(DRAM)和/或静态RAM(SRAM)。缓冲器管理模块44可以在存储于NVSM中28之前收集和存储一个或者多个HDS。
缓冲器管理模块44可以:在可能时将来自加密模块42的接收的DDS转换成HDS;从缓冲器管理模块44下游(在缓冲器管理模块44与NVSM 28之间)的部件接收HDS;和/或向解压模块56传送HDS。每个DDS可以大于或者等于HDS的大小。向主机12发送解压的HDS。缓冲器管理模块44无论接收HDS的顺序如何都可以按照预定顺序组合和存储压缩和/或解密的HDS。
例如,可以按照数值顺序接收HDS或者可以按照不同顺序接收HDS。依序接收的HDS可以存储于不同HDS寄存器72中以允许按照数值或者预定顺序重新排序HDS。因此,HDS寄存器72可以用来提供用于相应DDS的HDS集合74(示出了HDS寄存器1-N和HDS集合1-N)。在填满HDS寄存器和/或满足预定DDS长度限制时,可以从缓冲器管理模块44释放并且向DDS生成模块46传递HDS集合。例如当无更多HDS可以和/或将与当前DDS的其它HDS组合时,满足预定DDS长度限制。
DDS生成模块46基于HDS寄存器72中的组合和/或存储的HDS并且基于HDS和DDS信息生成DDS。DDS生成模块46在存储于NVSM 28中之前将HDS转换成DDS。可以从缓冲器管理模块44接收HDS和DDS信息。HDS和DDS信息可以包括HDS信息位和诸如DDS长度、DDS位时隙可用性等DDS信息。
DDS生成模块46可以生成每个DDS以具有相同位长度。多余(nuisance)数据指代为了生成DDS为预定位长度而向一个或者多个HDS添加的数据。压缩的HDS可以具有不同位长度。添加不同数量的多余数据以组合经压缩的HDS以生成相等长度的DDS。NVSM控制模块27通过添加多余数据来防止在两个DDS之间拆分HDS。附着多余数据,而不是存储HDS的部分至两个或者更多其它HDS。多余数据可以例如包括全0、全1、空状态和/或冗余数据,以最小化NVSM控制模块27的编程和/或处理。
ECC模块48和接口管理模块50可以基于来自命令管理模块60的参数信号来操作。命令管理模块60基于从NVSM控制模块27接收的命令和/或作业描述符84(统称为描述符)生成第一参数信号80和第二参数信号82。
在数据传送事件期间,NVSM控制模块27或者NVSM驱动14的其它模块之一接收访问请求信号30。NVSM控制模块27可以包括或者访问第一非易失性存储器90。第一非易失性存储器90存储NVSM控制模块27执行的固件92。在执行固件92时,NVSM控制模块27基于访问请求信号30生成描述符84。描述符84存储于第二非易失性存储器94中。第二非易失性存储器94可以是命令管理模块60的部分或者如图所示与命令管理模块60分离。第二非易失性存储器94可以存储描述符84和从NVSM控制模块27接收的参数信息96,如以下描述的那样,该参数信息用于解译描述符84以确定参数并且生成参数信号80、82。
在生成描述符84时,NVSM控制模块27可以确定:基于访问请求信号的数据分配块的大小、使数据块大小与其它参数相关的表、使用的应用等。数据分配块的大小可以称为分配单位(AU)大小或者分配块大小。使用的应用可以例如指示主机类型、NVSM驱动类型以及主机和NVSM驱动的速度。NVSM控制模块27生成用于指示分配块大小的描述符84。描述符84可以各自包括:分配块大小;缓冲器寄存器位置;NVSM地址、NVSM信道标识符(ID);NVSM设备标识符(例如存储器芯片ID);数据格式;待传送的数据量;操作位类型(例如读取、编程和/或擦除位);等
每个分配块大小可以基于页面、基于子页面或者未基于页面。在分配块大小等于一个或者多个数据页面的大小时,分配块大小基于页面。作为例子,单个数据页面可以等于8千字节(KB)。其它例子页面大小是4KB、16KB和32KB。在两个或更多个数据分配块的大小等于1个页面的大小时,分配块大小基于子页面。在分配块大小不是1个页面的整数倍并且分配块的整数倍不等于1个数据页面的大小时,分配块大小未基于页面。
可以向NVSM 28和从NVSM 28的信道100传送数据分配块。一个或者多个数据分配块(“数据块”)的传送可以称为数据传送事件。数据传送事件也可以例如出现于与信道串联和/或通信的设备之间。在图7、图14和图15中示出了在例子设备和/或模块之间的例子数据传送事件。
命令管理模块60可以基于描述符84确定:分配块大小、ECC纠正能力(每个数据块的纠正的位错误数目);缓冲器寄存器位置;NVSM地址;数据格式;待传送的数据量;独立盘冗余阵列(RAID)操作;读取、编程和擦除位;等。命令管理模块60生成描述符84和/或基于描述符84生成第一和第二参数信号80、82。
第一参数信号80可以包括:ECC纠正能力位;缓冲器寄存器位置位;NVSM地址位;数据格式位;待传送的数据量位;待传送的数据块数目位;独立盘冗余阵列(RAID)操作位;读取、编程和/或擦除位;等。第二参数信号82可以包括:NVSM地址位;分配块大小位;待传送的数据块数目位;读取、变成和/或擦除位;等。
ECC模块48执行纠错并且对从NVSM 28接收的DSS和数据编码和解码。ECC模块48基于第一参数信号80向接口管理模块50传送DDS和从接口管理模块50接收DDS。接口管理模块50基于第二参数信号82访问NVSM 28。接口管理模块50向NVSM 28发送用于控制对NVSM 28的访问的指令信号102。NVSM 28基于和/或根据指令信号102经由信道100向接口管理模块50发送数据信号和/或从接口管理模块50接收数据信号。指令信号102可以例如包括周期类型信号CT、定时选通信号DQx和状态寄存器位信号SR[6],在图4-图6和图8-图13中示出了这些信号的例子。
ECC模块48和/或其它ECC模块可以如图所示连接于:压缩模块40与加密模块42之间以对经压缩的HDS编码;加密模块42与缓冲器管理模块44之间以对经加密的HDS编码;缓冲器管理模块44与DDS生成模块46之间;和/或DDS生成模块46与NVSM 28之间。DDS然后存储于NVSM 28中。
在向NVSM 28写入数据和从NVSM 28读取数据时,ECC模块48可以使用一种或者多种ECC方法以防止错误。可以在存储于NVSM 28中之前生成并且向DDS添加奇偶校验位和/或可以与NVSM 28中的DDS分开存储奇偶校验位。
接口管理模块50可以在NVSM 28中的物理块位置(PBA)存储DDS。DDS的PBA可以存储于一个或者多个位置并且由接口管理模块50在访问NVSM 28中的DDS的存储位置时获取。例如PBA可以存储于第一易失性存储器90中和/或NVSM 28中。第一非易失性存储器90或者NVSM 28可以存储基于分配块大小的PBA的映射表104。作为例子,可以在映射表104中标识与分配块关联的PBA。这不同于基于数据页面的大小存储PBA。可以基于或者独立于数据页面的大小设置分配块大小。由于固件92基于分配块大小存储PBA,所以分配块大小的改变无需固件指令的改变而是简单地需要分配块大小设置调整。映射表104可以将逻辑块地址(LBA)与PBA相关。映射表104可以由发送和接收路径22、24中的任何模块访问。
接口管理模块50可以在向ECC模块48转发DDS之前访问NVSM 28中的DDS。ECC模块48可以基于与DDS关联的访问命令信号和/或奇偶位信息对从NVSM 28访问的DDS解码。访问命令信号可以由NVSM控制模块27和/或命令管理模块60生成并且包括第一参数信号80。访问命令信号可以包括一个或者多个PBA。访问命令信号可以由NVSM控制模块27生成并且基于从主机12接收的LBA和/或访问请求信号。HDS生成模块52基于例如从缓冲器管理模块44接收的数据请求信号从ECC模块48访问或者接收DSS。
HDS生成模块52和/或缓冲管理模块44将接收的DDS分离成HDS。HDS生成模块52基于从ECC模块48接收的经解密的DDS生成一个或者多个HDS。HDS生成模块52基于HDS标识信息和/或数据请求信号生成HDS。数据请求信号可以包括一个或者多个LBA。解密模块54解密来自ECC模块48的经解码的DDS。加密模块42使用的关键字可以由解密模块54共享、访问和/或生成。
虽然按照特定顺序示出接收和发送路径22、24的模块,但是可以按照不同顺序重新布置它们。例如加密模块42可以位于压缩模块40上游。换而言之,加密模块42可以连接于NVSM驱动接口20与压缩模块40之间。作为另一例子,解密模块54可以连接于NVSM驱动接口20与解压模块56之间。
以下图2-图11图示了NVSM存储系统10的实现方式的其它一些例子。
现在也参照图2,示出了接口管理控制系统26的部分120包括ECC模块48、接口管理模块50和NVSM 28。ECC模块48包括编码器122和解码器124。编码器122对DDS编码并且向接口管理模块50以数据分配块的形式转发经编码的DDS。编码器122可以组合整数倍DDS以形成数据分配块。解码器124对来自接口管理模块50的数据分配块解码以生成DDS。
针对所示例子,接口管理模块50包括第一串FIFO寄存器126和第二串FIFO寄存器128。第一串FIFO寄存器126与编程事件关联并且用来缓冲从ECC模块48向NVSM 28传送的数据。第二串FIFO寄存器128与读取事件关联并且用来缓冲从NVSM 28向ECC模块48传送的数据。虽然针对编码器122和解码器124各自示出FIFO寄存器串,但是接口管理模块50可以包括由编码器122和解码器124共享的单串FIFO寄存器。第一和第二FIFO寄存器126、128可以例如包括SRAM或者其它适当存储器设备。
FIFO寄存器126、128中的每个FIFO寄存器的大小可以大于或者等于NVSM控制模块27设置的分配块大小。FIFO寄存器126、128中的每个FIFO寄存器的大小可以大于、等于或者少于数据页面的大小,因为分配块大小可以大于、等于或者少于数据页面的大小。在图7中示出了大小设定成与数据页面的大小相等的FIFO寄存器的例子。在图14中示出了大小设定成比数据页面的大小更少的FIFO寄存器的例子。
接口管理模块50通过信道1001-N与NVSM 28通信。FIFO寄存器126、128中的每个FIFO寄存器与信道1001-N中的相应信道关联。FIFO寄存器126、128在存储于NVSM 28之前和/或在向缓冲器管理模块44(图1中所示)传送之前暂时存储数据。NVSM 28可以包括用于信道1001-N中的每个信道的缓冲器130。FIFO寄存器126、128和/或缓冲器130可以用来平衡在编码器122与NVSM 28之间和/或在解码器124与NVSM 28之间的不同带宽(或者速度)。
ECC模块48的带宽可以不同于NVSM 28的带宽。编码器122和解码器124的速度可以比信道1001-N中的每个信道的速度更快。例如编码器122和解码器124各自的速度可以比信道1001-N中的每个信道的速度块8-16倍。速度差也可以例如由于信道1001-N中的一个或者多个信道中的数据流“瓶颈”或者延迟而产生,这些数据流“瓶颈”或者延迟可以归因于接口管理模块50和NVSM 28的操作。FIFO寄存器126、128以及缓冲器130辅助平衡抵消速度差。可以设置编码器122的速度以将信道1001-N的操作维持于峰操作速度。可以设置解码器124的速度以防止第二组FIFO寄存器128填满并且将信道1001-N的输出维持于峰操作速度。
在以下图3-图6和图8-图13中示出了多个定时图。定时图包括可以从图1的接口管理模块50向NVSM 28发送的多个指令信号。指令信号102包括周期类型信号CT、定时选通信号DQx和状态寄存器位信号SR[6]。周期类型信号CT标识在定时选通信号DQx中提供的指令类型。定时选通信号DQx可以例如包括周期类型信号CT标识的命令指令CMD、NVSM地址指令ADDR、读取指令DOUT、编程指令DIN。定时选通信号DQx标识读取或者编程的命令、地址和数据。命令的例子是读取开始命令(例如00h、06h)、读取结束命令(例如30h、32h、EOh)、编程开始命令(例如80h)和编程结束命令(例如10h)。地址的例子是列地址(例如C1、C2)和行地址(例如R1、R2、R3)。
状态寄存器信号SR[6]指示在周期类型信号CT和定时选通信号DQx的指令集之间的等待时间。指令集可以是发起(或者触发)指令集、读取指令集或者编程指令集。触发指令集用来向NVSM 28通知:将执行读取操作或者编程操作;传送的数据量和/或分配块数目;分配块的地址;等。读取指令集指代何时从NVSM 28向接口管理模块50或者ECC模块48传送(或者加载)数据。编程指令集指代何时从接口管理模块50或者ECC模块48向NVSM 28传送数据。
等待时段可以包括预备触发时段tWB、读取预备时段tR、读取准备就绪时段tRR、加载触发时段tADL、编程预备时段tPROG、平面忙碌时段tPBSY、改变列设置时段tCCS等。NVSM 28在读取预备时段tR和编程预备时段tPROG期间预备数据传送事件。每个数据传送事件具有单个读取预备时段或者单个编程预备时段。
在以下图3-图6和图8-图13中也示出了多个指令集。提供指令集作为周期类型和定时选通信号CT、DQx的部分。每个指令集包括由上文描述的等待时段中的一个或者多个等待时段分离的指令组。示出了指令为六边形块。每个指令集可以包括任何数目的指令。
也在以下图3-图6和图8-图13中也示出了多个描述符。描述符的箭头并不必然指代描述符的定时。提供描述符的箭头以标识基于每个描述符生成的指令。针对每个描述符生成一个或者多个指令集。例如在图5中,示出了具有相应箭头和对应指令的多个页面描述符1-3。页面描述符1-3可以由NVSM控制模块27生成并且在生成图5中所示指令之前向命令管理模块60发送。
图3-图6和图8-图13的描述符可以是页面描述符或者分配块描述符。页面描述符指代用来触发和/或传送一个或者多个数据页面的描述符。分配块描述符指代用来触发和/或传送一个或者多个数据分配块的描述符。页面描述符和分配块描述符可以是触发描述符、读取描述符或者编程描述符。触发描述符用来初始化数据传送事件(读取或者编程事件)。作为例子,触发描述符可以标识命令类型(读取或者编程)、在NVSM 28和/或缓冲器管理模块44内的目标地址和将传送多少数据(页面数目和/或分配块数目)。
读取描述符用来从NVSM 28读取数据。编程描述符用来将数据向NVSM 28编程。作为例子,读取描述符和编程描述符可以标识将传送多少数据和数据在数据页面内的位置。描述符可以是触发描述符和读取描述符二者。例如参见图8的第一描述符(AU描述符1)。描述符可以代之以是触发描述符和编程描述符二者。例如参见图11的第一描述符(AU描述符1)。
现在参照图1和图3,示出了定时图,该定时图图示了用于基于页面的传送的单页面读取事件。定时图包括基于具有箭头148的单页面描述符生成的指令信号CT(145)、DQx(146)和SR[6](147)。指令信号145-147是指令信号102的例子。如图所示,周期类型和定时选通信号145、146中的每个信号包括两个指令集150、152。第一指令集150是触发指令集。第二指令集152是读取指令集。指令集150、152中的每个指令集包括指令(表示为六边形块)。
页面描述符可以由NVSM控制模块27生成。命令管理模块60基于页面描述符生成第一和第二参数信号80、82。接口管理模块50基于第二参数信号82生成指令信号145、146和147。NVSM 28在读取预备时段tR期间基于指令信号的第一指令集预备数据传送事件。
NVSM 28在读取预备时段tR之后基于指令信号145、146和147向接口管理模块50经由信道100之一传送数据页面。针对这一读取事件传送的数据量(或者数据块的大小)可以等于1个数据页面的大小。作为替代,传送量的数据块的大小可以少于1个数据页面。传送的数据量可以等于数据分配块的大小。可以如上文描述的那样设置分配块的大小。当传送数据分配块时可以使用分配块描述符作为对页面描述符148的替代。分配块描述符指代用来触发和/或传送一个或者多个数据分配块的描述符。
现在参照图1和图4,示出了定时图,该定时图图示了用于基于页面的传送的单页面编程事件。定时图包括基于具有箭头160的单页面描述符生成的指令信号CT(155)、DQx(156)和SR[6](157)。指令信号155-157是指令信号102的例子。如图所示,信号155和156各自包括两个指令集162、164。第一指令集162是触发指令集。第二指令集164是编程指令集。
图4的页面描述符可以由NVSM控制模块27生成。生成页面描述符以发起(或者触发)数据传送并且执行数据传送。命令管理模块60基于页面描述符160生成第一和第二参数信号80、82。NVSM28基于第二参数信号82生成指令信号155-157。NVSM 28在加载触发时段tADL期间基于第一指令集162预备数据传送事件。
ECC模块48向接口管理模块50传送数据页面。数据页面可以存储于接口管理模块50的FIFO寄存器中。接口管理模块50经由信道100之一向NVSM 28传送数据页面。在加载触发时段tADL之后并且在编程预备时段tPROG之前向信道传送数据。
针对这一编程事件传送的数据量(数据块的大小)可以如上文描述的那样等于1个数据页面的大小或者代之以可以少于1个数据页面。传送的数据量可以等于或者少于分配块。可以如上文描述的那样设置数据分配块的大小。当传送数据分配块时可以使用分配块描述符作为对页面描述符的替代。
现在参照图1和图5,示出了定时图,该定时图图示了使用多个页面描述符的多页面(或者多平面)读取事件。定时图包括基于具有箭头170、172、174的多个页面描述符(即页面描述符1-3)生成的指令信号CT(165)、DQx(166)和SR[6](167)。如图所示,信号165和166中的每个信号包括六个指令集176、178、180、182、184、186。指令信号165-167是指令信号102的例子。第一和第二指令集176、178是用于多页面读取事件的触发指令集。第三和第五指令集180、184是用于每个页面的触发指令。第四和第六指令集182、186是读取指令集。
六个指令集176-186如图所示用来传送2个数据页面。可以针对附加页面添加附加指令集。在这一例子中,每个信号的触发指令集数目T等于传送的页面数目P的两倍(或者T=2*P)。每个信号的读取指令集数目R等于传送的页面数目P(或者R=P)。页面描述符数目D也等于页面数目加上一(或者D=P+1)。
页面描述符(即页面描述符1-3)可以由NVSM控制模块27生成。命令管理模块60基于页面描述符(即页面描述符1-3)生成第一和第二参数信号80、82。NVSM 28基于第二参数信号82生成指令信号165-167。NVSM 28基于第一和第二指令集176、178预备用于传送数据页面的数据传送事件。
NVSM 28然后在读取预备时段tR之后基于指令信号(即指令集180-186)预备并且向接口管理模块50经由信道100中的一个或者多个信道传送每个数据页面。针对每对读取指令集182、186(用于CT信号的1个读取指令集和用于DQx信号的1个读取指令集)传送的数据量(或者数据块的大小)可以等于1个数据页面的大小。作为替代,传送的数据块的大小可以少于1个数据页面。传送的数据量可以等于数据分配块的大小。可以如上文描述的那样设置数据分配块的大小。当传送数据分配块时可以使用分配块描述符作为对页面描述符(即页面描述符1-3)的替代。在图10中示出了这一点的例子。
现在参照图1和图6,示出了定时图,该定时图图示了使用多个页面描述符的多页面编程事件。定时图包括基于具有箭头190、192的多个页面描述符(即页面描述符1-2)生成的指令信号CT(187)、DQx(188)和SR[6](189)。指令信号187-189是指令信号102的例子。如图所示,信号187和188各自包括四个指令集194、196、198、200。第一和第三指令集194、198是用于多页面读取事件的触发指令集。第二和第四指令集196、200是编程指令集。
四个指令集194-200如图所示用来传送2个数据页面。可以针对附加页面添加附加指令集。在这一例子中,每个信号的触发指令集数目T等于传送的页面数目P(或者T=P)。每个信号的编程指令集数目G等于传送的页面数目P(或者G=P)。页面描述符数目D也等于传送的页面数目(或者D=P)。
页面描述符(即页面描述符1-2)可以由NVSM控制模块27生成。页面描述符(即页面描述符1-2)可以由NVSM控制模块27生成。命令管理模块60基于页面描述符(即页面描述符1-2)生成第一和第二参数信号80、82。NVSM 28基于第二参数信号82生成指令信号187-189。NVSM 28在相应加载触发时段tADL1、tADL2期间基于第一和第三指令集194、198预备数据传送事件。
ECC模块48向接口管理模块50传送数据页面。数据页面可以存储于接口管理模块50的FIFO寄存器中。接口管理模块50经由信道100之一向NVSM 28传送数据页面。在加载触发时段tADL1、tADL2之后并且在编程预备时段tPROG之前向信道传送数据页面。
针对编程指令196、200中的每个编程指令传送的数据量(数据块的大小)可以如描述的那样等于1个数据页面的大小或者代之以可以少于1个数据页面。传送的数据量可以等于数据分配块的大小。可以如上文描述的那样设置分配块的大小。当传送数据分配块时可以使用分配块描述符作为对页面描述符(即页面描述符1-2)的替代。在图13中示出了这一点的例子。
在上述图5和图6中,由于有单个读取预备时段tR和信号编程时段tPROG,所以针对多页面传送事件最小化等待时间。
在图7中,示出了接口管理控制系统的部分210,该部分图示了具有页面大小的传送的多页面编程事件。可以向图1的接口管理控制系统26中并入部分210。每个传送可以填充接口管理模块50的FIFO寄存器126之一。传送的每个数据页面可以如上文关于图6描述的那样具有两个关联页面描述符(未示出)。
FIFO寄存器126中的每个FIFO寄存器连接到NVSM 28的信道0-7中的相应信道。可以在图1的信道100中包括信道0-7。虽然FIFO寄存器126的大小可以各自设定成存储多于1个数据页面,但是示出了FIFO寄存器126各自为能够存储1个数据页面。如果(如上文描述的那样)执行多页面(M页面)传送,则FIFO寄存器126的大小无需设定成存储M个数据页面,因为传送的每个数据页面使用一个或者多个页面描述符。将FIFO寄存器126的大小设定成存储单个数据页面而不是两个或者更多数据页面减少为FIFO寄存器126分配的存储器并且减少数据传送时间。如果仅单个描述符用来传送M个数据页面,则FIFO寄存器126中的每个FIFO寄存器的大小将需要设定成等于数据页面中的数据量,因为每个描述符与单个信道和/或单个FIFO寄存器关联。
在多页面数据传送事件中,逐个页面跨越多个信道扩展向接口管理模块50提供的数据。示出了数据页面,即数据1-16。在向信道0-7中任一信道发送第二页面之前,向信道0-7中每个信道传送单个页面。基于信道0-7和/或NVSM 28内部的设备的速度从FIFO寄存器126向信道0-7传送数据页面。由于向FIFO寄存器126中的每个FIFO寄存器传送数据页面,所以减少在FIFO寄存器126中的任何FIFO寄存器的数据瓶颈概率。例如,如果第一信道(例如信道0)的传送速度缓慢,则在对应的第一FIFO寄存器FIFO1的瓶颈可以不出现,因为在向第一FIFO寄存器FIFO1中加载另一数据页面之前向其它FIFO寄存器FIFO2-8中加载数据页面。
现在参照图1和图8,示出了定时图,该定时图图示了具有与传送的分配块相同数目的描述符的读取事件。定时图包括基于具有箭头220、222的多个分配块描述符(即AU描述符1-2)生成的指令信号CT(217)、DQx(218)和SR[6](219)。指令信号217-219是指令信号102的例子。如图所示,信号217和218各自包括三个指令集224、226、228。第一指令集224是触发指令集。第二指令集226是第一读取指令集。第三指令集228是第二读取指令集。
读取指令集226、228中的每个读取指令集与数据分配块关联。第一描述符(即AU描述符1)与第一和第二指令集226、228关联。第二描述符(即AU描述符2)与第三指令集228关联。
分配块描述符(即AU描述符1-2)可以由NVSM控制模块27生成。命令管理模块60基于分配块描述符(即AU描述符1-2)生成第一和第二参数信号80、82。接口管理模块50基于第二参数信号82生成指令信号217-219。NVSM 28在读取预备时段tR期间基于第一指令集224预备数据传送事件。
NVSM 28在读取预备时段tR之后基于指令信号217-219向接口管理模块50经由信道100之一传送数据分配块。可以向接口管理模块50的不同、相邻和/或依序的FIFO寄存器逐块扩展数据分配块。针对这一读取事件传送的数据量(或者数据分配块的大小)可以例如少于或者等于1个数据页面的大小。可以如上文描述的那样设置数据分配块的大小。
现在参照图1和图9,示出了定时图,该定时图图示了具有比传送的分配块数目更多的描述符的读取事件。定时图包括基于具有箭头230、232、234的多个分配块描述符(即AU描述符1-3)生成的指令信号CT(227)、DQx(228)和SR[6](229)。指令信号227-229是指令信号102的例子。分配块描述符数目AUD等于传送的分配块数目AB加上一(或者AUD=AB+1)。如图所示,信号228和229中的每个信号包括三个指令集236、238、240。第一指令集236是触发指令集。第二指令集238是第一读取指令集。第三指令集240是第二读取指令集。
每对读取指令集238、240(在CT信号中的1个读取指令集和在DQx信号中的1个读取指令集)与数据分配块关联。第一描述符(即AU描述符1)与第一指令集236关联。第二描述符(即AU描述符2)与第二指令集238关联。第三描述符(即AU描述符3)与第三指令集240关联。
分配块描述符(即AU描述符1-3)可以由NVSM控制模块27生成。命令管理模块60基于分配块描述符(即AU描述符1-3)生成第一和第二参数信号80、82。接口管理模块50基于第二参数信号82生成指令信号227-229。NVSM 28在读取预备时段tR期间基于第一指令集236预备数据传送事件。
NVSM 28在读取预备时段tR之后基于指令信号227-229向接口管理模块50经由信道100之一传送数据分配块。针对这一读取事件传送的数据量(或者数据分配块的大小)可以例如少于或者等于1个数据页面的大小。可以如上文描述的那样设置数据分配块的大小。
图8的实现方式使用比图9的实现方式更少的描述符。使用更少描述符可以减少所生成的信号的数目并且减少在接口管理控制模块26的模块之间传送的信号数目。使用更少描述符也可以减少NVSM控制模块27的映射表大小和操作。图8的实现方式使用更多描述符可以通过提供对指令集的增加的数据传送控制和对更小大小的应用块的管理来增加固件设计灵活性。
现在参照图1和图10,示出了定时图,该定时图图示了具有多个指令集的多分配块读取事件。图10的实现方式除了生成分配块描述符以传送数据分配块而不是生成页面描述符以传送数据页面之外与图5的实现方式相似。定时图包括基于具有箭头250、252、254的多个分配块描述符(即AU描述符1-3)生成的指令信号CT(247)、DQx(248)和SR[6](249)。指令信号247-249是指令信号102的例子。
如图所示,信号247和248各自包括六个指令集256、258、260、262、264、266。第一和第二指令集256、258是用于多页面读取事件的触发指令集。第三和第五指令集260、264是用于每个页面的触发指令。第四和第六指令集262、266是读取指令集。六个指令集256-266如图所示用来传送2个数据页面。可以针对附加页面添加附加指令集。在这一例子中,每个信号的触发指令集数目T等于传送的页面数目P的两倍(或者T=2*P)。每个信号的读取指令集数目R等于传送的页面数目P(或者R=P)。页面描述符数目D也等于页面数目减去一(或者D=P-1)。
分配块描述符(即AU描述符1-3)可以由NVSM控制模块27生成。命令管理模块60基于分配块描述符(即AU描述符1-3)生成第一和第二参数信号80、82。NVSM 28基于第二参数信号82生成指令信号247-249。NVSM 28基于第一和第二指令集256、258预备用于传送数据分配块的数据传送事件。
NVSM 28然后在读取预备时段tR之后基于指令信号247-249(即指令集260、264)预备并且向接口管理模块50经由信道中的一个或者多个信道传送每个数据分配块。针对每对读取指令集262、266(用于CT信号的1个读取指令集和用于DQx信号的1个读取指令集)传送的数据量(或者分配块大小)可以少于或者等于1个数据页面的大小。
现在参照图1和图11,示出了定时图,该定时图图示了具有与传送的分配块相同数目的描述符的编程事件。定时图包括基于具有箭头270、272的多个分配块描述符(即AU描述符1-2)生成的指令信号CT(267)、DQx(268)和SR[6](269)。指令信号267-269是指令信号102的例子。如图所示,信号267和268各自包括三个指令集274、276、278。第一指令集274是触发指令集。第二指令集276是第一编程指令。第三指令集278是第二编程指令集。
分配块描述符(即AU描述符1-2)可以由NVSM控制模块27生成。命令管理模块60基于分配块描述符(即AU描述符1-2)生成第一和第二参数信号80、82。NVSM 28基于第二参数信号82生成指令信号267-269。NVSM 28在加载触发时段tADL期间基于第一指令集274预备数据传送。
ECC模块48向接口管理模块50传送数据分配块。数据分配块可以存储于接口管理模块50的FIFO寄存器中。接口管理模块50经由信道100之一向NVSM 28传送数据分配块。在加载触发时段tADL之后并且在编程预备时段tPROG之前向信道传送数据。针对这一编程事件传送的数据量(数据分配块的组合大小)可以少于或者等于1个数据页面的大小。
现在参照图1和图12,示出了定时图,该定时图图示了具有比传送的分配块更多的描述符的编程事件。定时图包括基于具有箭头280、282、284的多个分配块描述符(即AU描述符1-3)生成的指令信号CT(277)、DQx(278)和SR[6](279)。指令信号277-279是指令信号102的例子。分配块描述符数目AUD等于传送的分配块数目AB加上一(或者AUD=AB+1)。如图所示,277和278信号各自包括三个指令集286、288、290。第一指令集286是触发指令集。第二指令集288是第一编程指令集。第三指令集290是第二编程指令集。
分配块描述符(即AU描述符1-3)可以由NVSM控制模块27生成。命令管理模块60基于分配块描述符(即AU描述符1-2)生成第一和第二参数信号80、82。NVSM 28基于第二参数信号82生成指令信号277-279。NVSM 29在记载触发时段tADL期间基于第一指令集286预备数据传送事件。
ECC模块48向接口管理模块50传送数据分配块。数据分配块可以存储于接口管理模块50的FIFO寄存器中。接口管理模块50经由信道100之一向NVSM 28传送数据分配块。在加载触发时段tADL之后并且在编程预备时段tPROG之前向信道传送数据。针对这一编程事件传送的数据量(数据分配块的组合大小)可以少于或者等于1个数据页面的大小。
现在参照图1和图13,示出了定时图,该定时图图示了具有多个指令集的多分配块读取事件。图13的实现方式除了生成分配块描述符以传送数据分配块而不是生成页面描述符以传送数据页面之外与图6的实现方式相似。此外,传送的每个数据分配块生成两个页面描述符而不是传送的每个数据页面生成单个页面描述符。
图13的定时图包括基于具有箭头300、302、304、306的多个分配块描述符(即AU描述符1-4)生成的指令信号CT(297)、DQx(298)和SR[6](299)。指令信号297-299是指令信号102的例子。如图所示,信号297和298各自包括六个指令集308、310、312、314、316、318。第一和第四指令集308、314是用于多分配块读取事件的触发指令集。第二和第五指令集310、316是用于第一和第三数据分配块的编程指令集。第三和第六指令集312、318是用于传送第二和第四数据分配块的编程指令集。可以针对附加数据分配块添加附加触发和编程指令集。
在这一例子中,每个信号的触发指令集数目T等于传送的数据分配块数目AB的两倍(或者T=2*AB)。每个信号的编程指令集数目G等于传送的数据分配块数目(或者G=AB)。每个触发指令集的分配块数目可以由NVSM控制模块27增加。
分配块描述符(AU描述符1-4)可以由NVSM控制模块27生成。命令管理模块60基于分配块描述符(AU描述符1-4)生成第一和第二参数信号80、82。NVSM 28基于第二参数信号82生成指令信号297-299。NVSM 28在加载触发时段tADL1、tADL2期间基于第一指令集308、314预备数据传送事件。
ECC模块48向接口管理模块50传送数据分配块。第一和第二数据分配块可以存储于接口管理模块50的第一FIFO寄存器中。第三和第四分配块可以存储于接口管理模块50的第二FIFO寄存器中。接口管理模块50可以经由信道100中的两个信道向NVSM 28传送数据分配块。在加载触发时段tADL1、tADL2之后并且在编程预备时段tPROG之前向信道传送数据分配块。作为替代,可以向第一和第二FIFO寄存器之一传送并且经由信道100之一向NVSM 28传送第一、第二、第三和第四数据块。
针对每对编程指令集(第一和第二编程指令集310、312或者第三和第四编程指令集316、318)传送的数据量(或者数据分配块的大小)可以少于或者等于1个数据页面的大小。在所示例子中,如果针对每对触发指令集(用于CT信号的1个触发指令集和用于DQx信号的1个触发指令集)传送1个数据页面,则两个分配块的大小等于数据页面的大小。可以通过减少分配块大小来增加页面数据的每个传送的分配块数目。
在图14中,示出了接口管理控制系统的部分330,该部分图示了具有分配块大小的传送的基于分配块的编程事件。可以向图1的接口管理控制系统26中并入部分330。传送的每个数据分配块可以填充接口管理模块50的FIFO寄存器126’之一。传送的每个数据分配块可以如上文关于图11和图12描述的那样例如具有两个或者三个关联分配块描述符(未示出)。
FIFO寄存器126’中的每个FIFO寄存器连接到NVSM 28的信道0-7之一。虽然FIFO寄存器126’的大小可以各自设定成存储多于1个数据分配块,但是示出了FIFO寄存器126’各自为能够存储1个数据分配块。
FIFO寄存器126’中的每个FIFO寄存器126’的大小可以基于数据分配块的大小并且可以独立于数据页面的大小。任何分配块数目可以等于一个页面数据的大小。减少数据分配块的大小和FIFO寄存器126’可以进一步增加数据传送速度、增加并行数据传送效率并且防止数据瓶颈。
在多分配块传送事件中,逐块跨越多个信道扩展向接口管理模块50提供的数据。示出了数据分配块(即数据1-32)。在向任何信道发送第二分配块之前向每个信道传送单个数据分配块。基于信道和/或在NVSM 28内部的设备的速度从FIFO寄存器126’向信道传送数据分配块。由于向FIFO寄存器126’中的每个FIFO寄存器126’传送数据分配块,所以减少在FIFO寄存器126’中的任何一个FIFO寄存器126’的数据瓶颈概率。
现在参照图1和图15,示出了接口管理控制系统的部分340。部分340可以并入于图1的接口管理控制系统26中、替换图2的部分120并且包括ECC模块48’、接口管理模块50’和NVSM 28。不同于图2的实现方式,ECC模块48’包括多个编码器342和多个解码器344,并且接口管理模块50’不包括FIFO寄存器。每个编码器342可以以与NVSM 28的信道100基本上相同的速度传送数据。
在编程事件期间,DDS生成模块46可以与如例如关于图2和图8-图14的实现方式描述的那样向FIFO寄存器扩展数据分配块相似地向编码器342扩展数据分配块。图15的实现方式通过未在接口管理模块50’中并入FIFO寄存器来进一步减少用来向NVSM 28和从NVSM 28传送数据的存储器数量。由于未并入FIFO寄存器,所以这一实现方式可以支持任何页面大小或者分配块大小。这增加固件92的开发灵活性。这一实现方式也可以增加并行数据传送效率。
如图14和图15中描述的那样使用大小比页面大小更小的FIFO寄存器和/或消除FIFO寄存器最小化硬件/存储器要求。
可以使用许多方法来操作NVSM存储系统10和/或NVSM驱动14,图16的方法提供作为例子的基于分配块的方法。在图16中示出了操作NVSM存储系统和NVSM驱动的方法。虽然主要关于图1-图15的实现方式描述以下任务,但是可以容易修改任务以适用于本公开内容的其它实现方式。可以迭代地执行任务。该方法可以始于350。
在352处,NVSM驱动接口20从主机接口18接收请求执行读取、编程和/或擦除事件的访问请求信号。
在354处,NVSM控制模块27基于访问请求信号生成页面和/或分配块描述符。可以生成页面和/或分配块描述符以执行一个或者多个数据传送事件。每个数据传送事件可以是读取事件或者编程事件,并且包括仅一个读取预备时段或者一个编程预备时段。每个数据传送事件、传送的数据页面和/或传送的数据分配块生成的描述符数目可以由NVSM控制模块27确定。
每个数据传送事件包括两个或者更多描述符。每个传送事件的数据页面数目和/或数据分配块数目也可以由NVSM控制模块27确定并且在生成的描述符中被指示。每个数据传送事件可以传送一个或者多个数据页面和/或一个或者多个数据分配块。页面大小可以预定和固定或者可以由NVSM控制模块27设置。
在356处,命令管理模块60基于在354处生成的页面和/或分配块描述符如上文描述的那样生成第一参数信号80和第二参数信号82。
在358处,ECC模块(例如ECC模块48、48’之一)和接口管理模块(例如接口管理模块50、50’之一)基于第一参数信号80和第二参数信号82确定是否将执行读取事件或者编程事件。当执行读取事件时执行任务360。当执行编程事件时执行任务370。
在360处,接口管理模块生成用于通知NVSM 28经由信道100从NVSM 28向接口管理模块传送数据块的指令信号102。基于第二参数信号82生成指令信号102。
在362处,NVSM 28基于指令信号的指令集预备并且向信道100中的一个或者多个信道传送数据页面和/或数据分配块。指令集可以如例如图3、图5、图8、图9和/或图10中所示。页面数据和/或数据分配块可以由接口管理模块的FIFO寄存器接收。
在364处,基于参数信号80、82从接口管理模块向ECC模块传送数据页面和/或数据分配块。如图2、图7、图14和图15中所示,可以向ECC模块的一个或者多个解码器传送数据页面和/或数据分配块。
在366处,例如经由HDS生成模块52、缓冲器管理模块44、解密模块54和解压模块56向NVSM驱动接口20传送数据页面和/或数据分配块。主机12可以从NVSM驱动接口20接收数据页面和/或数据分配块。在执行任务366之后,该方法可以如图所示返回到任务352或者在380结束。
在370处,NVSM驱动接口20接收数据页面和/或数据分配块。在371,例如经由压缩模块40、加密模块42、缓冲器管理模块44和DDS生成模块46向ECC模块转发数据页面和/或数据分配块。
在372处,ECC模块可以基于第一参数信号80向接口管理模块传送数据页面和/或数据分配块。如图2、图7或者图14中所示,数据页面和/或数据分配块可以从ECC模块的编码器传送并且向接口管理模块的一个或者多个FIFO寄存器扩展。作为替代,如图15中所示,可以从ECC模块的多个编码器向接口管理模块传送数据页面和/或数据分配块。
在374处,接口管理模块基于第二参数信号82生成用于向NVSM 28传送数据页面和/或数据分配块的指令信号102。指令信号102可以包括指令集。指令集可以如例如图4、图6、图11、图12和/或图13中所示。
在376处,NVSM 28经由信道100接收数据页面和/或数据分配块。在执行任务376之后,该方法可以如图所示返回到任务352或者在380结束。
上文描述的任务是为了作为示例例子;根据应用可以依次、同步、同时、连续、在重叠时间段期间或者按照不同顺序执行任务。例如可以在执行任务376之时执行任务374。
这里描述的实施方式使用向和/或从NVSM传送的每个页面的(如上文定义的)多个描述符和/或每个分配块的多个描述符。通过生成并且使用多个描述符,比每个传送仅使用单个描述符增加固件灵活性。基于所选分配块大小执行数据传送允许与页面大小独立执行读取和编程事件并且允许NVSM驱动适应NVSM的任何页面大小。比页面的大小更小的分配块对于NVSM控制模块的固件而言更易于操纵、更易于编码和解码并且对于主机而言更易于操纵。从NVSM读取分配块如与读取数据页面对比的那样减少延时。
基于分配块的传送也允许NVSM驱动的接口管理模块的FIFO大小独立于页面大小。通过每个传送事件在NVSM的多个信道之上扩展数据分配块也提高传送效率。可以向多个信道扩展数据而未等待向已经接收数据块的信道的FIFO中加载附加数据块。这进一步减少传送延时。
可以用多种形式实施公开内容的广泛教导。因此,尽管这一公开内容包括具体例子,但是公开内容的真实范围不限于此,因为其它修改将在研读附图、说明书和所附权利要求时变得清楚。
权利要求书(按照条约第19条的修改)
1.一种控制系统,包括:
控制模块,配置成基于用于数据传送事件中的每个数据传送事件的至少两个描述符控制数据块的在接口管理模块与非易失性半导体存储器之间的所述数据传送事件,其中
所述数据传送事件中的每个数据传送事件包括单个读取预备时段和单个编程预备时段之一,
所述非易失性半导体存储器被配置成被预备用于所述数据传送事件的读取事件或者编程事件,并且
所述接口管理模块和所述非易失性半导体存储器被配置成在固态存储器驱动内操作;
命令管理模块,配置成基于所述至少两个描述符生成参数信号;以及
所述接口管理模块被配置成基于所述参数信号生成指令信号并且向所述非易失性半导体存储器发送所述指令信号以执行所述读取事件或者所述编程事件。
2.根据权利要求1所述的控制系统,其中:
所述数据块中的每个数据块的大小等于分配块大小;并且
所述分配块大小小于或者等于数据页面的大小。
3.根据权利要求2所述的控制系统,其中所述接口管理模块被配置成选择所述分配块大小。
4.根据权利要求2所述的控制系统,其中:
所述接口管理模块被配置成基于来自与所述固态存储器驱动通信的主机的访问请求信号选择所述分配块大小;并且
所述分配块大小小于数据页面的大小。
5.根据权利要求1所述的控制系统,其中:
所述数据传送事件中的每个数据传送事件包括传送数据页面;
所述数据页面的大小等于所述数据块中的至少两个数据块的大小;并且
基于所述至少两个描述符中的相应描述符传送所述数据块中的所述至少两个数据块。
6.根据权利要求1所述的控制系统,其中所述数据传送事件中的每个数据传送事件包括传送多个数据页面。
7.根据权利要求1所述的控制系统,其中所述至少两个描述符的数目至少等于在所述数据传送事件中的每个数据传送事件期间传送的数据块数目加上一。
8.根据权利要求1所述的控制系统,其中:
所述接口管理模块被配置成针对所述数据传送事件中的每个数据传送事件生成用于发起传送所述数据块的触发指令集;并且
所述至少两个描述符的数目等于针对所述数据传送事件中的每个数据传送事件生成的触发指令集数目。
9.根据权利要求8所述的控制系统,其中:
所述接口管理模块被配置成在用于所述数据传送事件中的每个数据传送事件的预备时段之前生成所述触发指令集;并且
在所述预备时段之后,所述接口管理模块被配置成生成读取指令集或者编程指令集;并且
其中所述数据传送事件中的每个数据传送事件包括所述触发指令集中的至少一个触发指令集和所述读取指令集或者所述编程指令集中的至少一个指令集。
10.根据权利要求1所述的控制系统,其中所述至少两个描述符的数目是在所述数据传送事件中的每个数据传送事件中传送的数据块数目的两倍。
11.根据权利要求1所述的控制系统,其中所述至少两个描述符中的每个描述符指示分配块大小、所述非易失性半导体存储器的地址以及所述数据传送事件是否为读取、编程或者擦除事件。
12.根据权利要求1所述的控制系统,其中所述参数信号的位指示待传送的数据量、所述非易失性半导体存储器的地址以及所述数据传送事件是否为读取、编程或者擦除事件。
13.根据权利要求1所述的控制系统,其中所述信号是第一参数信号,并且其中:
所述命令管理模块被配置成基于所述至少两个描述符生成第二参数信号;并且
还包括:纠错码模块,配置成基于所述第二参数信号向所述接口管理模块和从所述接口管理模块传送数据块。
14.根据权利要求13所述的控制系统,其中所述第二参数信号的位指示缓冲器寄存器位置、所述非易失性半导体存储器的地址、待传送的数据量以及所述数据传送事件是否为读取、编程或者擦除事件。
15.根据权利要求14所述的控制系统,其中所述第二参数信号的所述位还指示独立盘操作的纠正能力、数据格式位和冗余阵列。
16.根据权利要求13所述的控制系统,其中:
所述接口管理模块包括多个先入先出寄存器;
所述纠错码模块被配置成向所述多个先入先出寄存器扩展所述数据块;并且
所述多个先入先出寄存器中的每个先入先出寄存器的大小小于数据页面的大小。
17.一种固态存储器驱动,包括:
根据权利要求1所述的控制系统;
缓冲器管理模块,配置成从与所述固态存储器驱动通信的主机接收主机数据扇区、基于所述主机数据扇区生成第一驱动数据扇区、接收第二驱动数据扇区并且向所述主机发送主机数据扇区;以及
纠错码模块,配置成从所述缓冲器管理模块向所述接口管理模块传送所述第一驱动数据扇区并且从所述接口管理模块向所述缓冲器管理模块传送所述第二驱动数据扇区。
18.一种方法,包括:
基于用于数据传送事件中的每个数据传送事件的至少两个描述符控制数据块的在接口管理模块与非易失性半导体存储器之间的所述数据传送事件,其中
所述数据传送事件中的每个数据传送事件包括单个读取预备时段和单个编程预备时段之一,
针对所述数据传送事件的读取事件或者编程事件预备所述非易失性半导体存储器,并且
在固态存储器驱动内操作所述接口管理模块和所述非易失性半导体存储器;
基于所述至少两个描述符生成参数信号;以及
基于所述参数信号经由所述接口管理模块生成指令信号;以及
向所述非易失性半导体存储器发送所述指令信号以执行所述读取事件或者所述编程事件。
19.根据权利要求18所述的方法,还包括:
针对所述数据传送事件中的每个数据传送事件生成用于发起传送所述数据块的触发指令集,其中所述至少两个描述符的数目等于针对所述数据传送事件中的每个数据传送事件生成的触发指令集数目;
在用于所述数据传送事件中的每个数据传送事件的预备时段之前生成所述触发指令集;以及
在所述预备时段之后,生成读取指令集或者编程指令集,
其中所述数据传送事件中的每个数据传送事件包括所述触发指令集中的至少一个触发指令集和所述读取指令集或者所述编程指令集中的至少一个指令集。
20.根据权利要求18所述的方法,其中:
所述接口管理模块包括多个先入先出寄存器;
所述多个先入先出寄存器中的每个先入先出寄存器的大小小于数据页面的大小;并且
所述方法还包括:
向所述多个先入先出寄存器和所述非易失性半导体存储器的多个信道扩展所述数据块,以及
在向所述信道中的任何一个信道传送所述数据块中的共计两个数据块之前向所述信道中的每个信道传送所述数据块中的相应数据块。

Claims (20)

1.一种控制系统,包括:
控制模块,配置成基于用于数据传送事件中的每个数据传送事件的至少两个描述符控制数据块的在接口管理模块与非易失性半导体存储器之间的所述数据传送事件,其中
针对所述数据传送事件的读取事件或者编程事件预备所述非易失性半导体存储器,并且
所述接口管理模块和所述非易失性半导体存储器被配置成在固态存储器驱动内操作;
命令管理模块,配置成基于所述至少两个描述符生成参数信号;以及
所述接口管理模块被配置成基于所述参数信号生成指令信号并且向所述非易失性半导体存储器发送所述指令信号以执行所述读取事件或者所述编程事件。
2.根据权利要求1所述的控制系统,其中:
所述数据块中的每个数据块的大小等于分配块大小;并且
所述分配块大小小于或者等于数据页面的大小。
3.根据权利要求2所述的控制系统,其中所述接口管理模块被配置成选择所述分配块大小。
4.根据权利要求2所述的控制系统,其中:
所述接口管理模块被配置成基于来自与所述固态存储器驱动通信的主机的访问请求信号选择所述分配块大小;并且
所述分配块大小小于所述数据页面的大小。
5.根据权利要求1所述的控制系统,其中:
所述数据传送事件中的每个数据传送事件包括传送数据页面;
所述数据页面的大小等于所述数据块中的至少两个数据块的大小;并且
基于所述至少两个描述符中的相应描述符传送所述数据块中的所述至少两个数据块。
6.根据权利要求1所述的控制系统,其中所述数据传送事件中的每个数据传送事件包括传送多个数据页面。
7.根据权利要求1所述的控制系统,其中所述至少两个描述符的数目至少等于在所述数据传送事件中的每个数据传送事件期间传送的数据块数目加上一。
8.根据权利要求1所述的控制系统,其中:
所述接口管理模块被配置成针对所述数据传送事件中的每个数据传送事件生成用于发起传送所述数据块的触发指令集;并且
所述至少两个描述符的数目等于针对所述数据传送事件中的每个数据传送事件生成的触发指令集数目。
9.根据权利要求8所述的控制系统,其中:
所述接口管理模块被配置成在用于所述数据传送事件中的每个数据传送事件的预备时段之前生成所述触发指令集;并且
在所述预备时段之后,所述接口管理模块被配置成生成读取指令集或者编程指令集;并且
其中所述数据传送事件中的每个数据传送事件包括所述触发指令集中的至少一个触发指令集和所述读取指令集或者所述编程指令集中的至少一个指令集。
10.根据权利要求1所述的控制系统,其中所述至少两个描述符的数目是在所述数据传送事件中的每个数据传送事件中传送的数据块数目的两倍。
11.根据权利要求1所述的控制系统,其中所述至少两个描述符中的每个描述符指示分配块大小、所述非易失性半导体存储器的地址以及所述数据传送事件是否为读取、编程或者擦除事件。
12.根据权利要求1所述的控制系统,其中所述参数信号的位指示待传送的数据量、所述非易失性半导体存储器的地址以及所述数据传送事件是否为读取、编程或者擦除事件。
13.根据权利要求1所述的控制系统,其中所述信号是第一参数信号,并且其中:
所述命令管理模块被配置成基于所述至少两个描述符生成第二参数信号;并且
还包括:纠错码模块,配置成基于所述第二参数信号向所述接口管理模块和从所述接口管理模块传送数据块。
14.根据权利要求13所述的控制系统,其中所述第二参数信号的位指示缓冲器寄存器位置、所述非易失性半导体存储器的地址、待传送的数据量以及所述数据传送事件是否为读取、编程或者擦除事件。
15.根据权利要求14所述的控制系统,其中所述第二参数信号的所述位还指示独立盘操作的纠正能力、数据格式位和冗余阵列。
16.根据权利要求13所述的控制系统,其中:
所述接口管理模块包括多个先入先出寄存器;
所述纠错码模块被配置成向所述多个先入先出寄存器扩展所述数据块;并且
所述多个先入先出寄存器中的每个先入先出寄存器的大小小于数据页面的大小。
17.一种固态存储器驱动,包括:
根据权利要求1所述的控制系统;
缓冲器管理模块,配置成从与所述固态存储器驱动通信的主机接收主机数据扇区、基于所述主机数据扇区生成第一驱动数据扇区、接收第二驱动数据扇区并且向所述主机发送主机数据扇区;以及
纠错码模块,配置成从所述缓冲器管理模块向所述接口管理模块传送所述第一驱动数据扇区并且从所述接口管理模块向所述缓冲器管理模块传送所述第二驱动数据扇区。
18.一种方法,包括:
基于用于数据传送事件中的每个数据传送事件的至少两个描述符控制数据块的在接口管理模块与非易失性半导体存储器之间的所述数据传送事件,其中
针对所述数据传送事件的读取事件或者编程事件预备所述非易失性半导体存储器,并且
在固态存储器驱动内操作所述接口管理模块和所述非易失性半导体存储器;
基于所述至少两个描述符生成参数信号;以及
基于所述参数信号经由所述接口管理模块生成指令信号;以及
向所述非易失性半导体存储器发送所述指令信号以执行所述读取事件或者所述编程事件。
19.根据权利要求18所述的方法,还包括:
针对所述数据传送事件中的每个数据传送事件生成用于发起传送所述数据块的触发指令集,其中所述至少两个描述符的数目等于针对所述数据传送事件中的每个数据传送事件生成的触发指令集数目;
在用于所述数据传送事件中的每个数据传送事件的预备时段之前生成所述触发指令集;以及
在所述预备时段之后,生成读取指令集或者编程指令集,
其中所述数据传送事件中的每个数据传送事件包括所述触发指令集中的至少一个触发指令集和所述读取指令集或者所述编程指令集中的至少一个指令集。
20.根据权利要求18所述的方法,其中:
所述接口管理模块包括多个先入先出寄存器;
所述多个先入先出寄存器中的每个先入先出寄存器的大小小于数据页面的大小;并且
所述方法还包括:
向所述多个先入先出寄存器和所述非易失性半导体存储器的多个信道扩展所述数据块,以及
在向所述信道中的任何一个信道传送所述数据块中的共计两个数据块之前向所述信道中的每个信道传送所述数据块中的相应数据块。
CN201180038435.XA 2010-07-07 2011-06-28 用于非易失性半导体存储器的接口管理控制系统和方法 Active CN103052948B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US36225110P 2010-07-07 2010-07-07
US61/362,251 2010-07-07
US13/166,340 US8868852B2 (en) 2010-07-07 2011-06-22 Interface management control systems and methods for non-volatile semiconductor memory
US13/166,340 2011-06-22
PCT/US2011/042124 WO2012006062A1 (en) 2010-07-07 2011-06-28 Interface management control systems and methods for non-volatile semiconductor memory

Publications (2)

Publication Number Publication Date
CN103052948A true CN103052948A (zh) 2013-04-17
CN103052948B CN103052948B (zh) 2016-08-17

Family

ID=45439399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180038435.XA Active CN103052948B (zh) 2010-07-07 2011-06-28 用于非易失性半导体存储器的接口管理控制系统和方法

Country Status (5)

Country Link
US (2) US8868852B2 (zh)
KR (1) KR101837111B1 (zh)
CN (1) CN103052948B (zh)
TW (1) TWI506638B (zh)
WO (1) WO2012006062A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817534A (zh) * 2021-02-02 2021-05-18 深圳忆联信息系统有限公司 提高ssd读写性能的方法、装置、计算机设备及存储介质
CN113939877A (zh) * 2019-05-31 2022-01-14 美光科技公司 用于存储器装置的可重新配置信道接口

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8868852B2 (en) 2010-07-07 2014-10-21 Marvell World Trade Ltd. Interface management control systems and methods for non-volatile semiconductor memory
US9135168B2 (en) 2010-07-07 2015-09-15 Marvell World Trade Ltd. Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error
US9141538B2 (en) * 2010-07-07 2015-09-22 Marvell World Trade Ltd. Apparatus and method for generating descriptors to transfer data to and from non-volatile semiconductor memory of a storage drive
US20150095551A1 (en) * 2013-09-30 2015-04-02 Micron Technology, Inc. Volatile memory architecutre in non-volatile memory devices and related controllers
KR20160111222A (ko) 2015-03-16 2016-09-26 에스케이하이닉스 주식회사 반도체 메모리 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템, 그것을 포함하는 컴퓨팅 시스템
KR102609473B1 (ko) * 2016-06-17 2023-12-04 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US20180032249A1 (en) * 2016-07-26 2018-02-01 Microsoft Technology Licensing, Llc Hardware to make remote storage access appear as local in a virtualized environment
CN110533158B (zh) * 2018-05-25 2023-10-13 宏达国际电子股份有限公司 模型建构方法、系统及非易失性电脑可读取记录介质
US10861508B1 (en) * 2019-11-11 2020-12-08 Sandisk Technologies Llc Transmitting DBI over strobe in nonvolatile memory

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070011396A1 (en) * 2005-06-30 2007-01-11 Utstarcom, Inc. Method and apparatus for bandwidth efficient and bounded latency packet buffering
CN101025720A (zh) * 2007-03-28 2007-08-29 华为技术有限公司 一种外部存储器控制器时序配置的装置及方法
US7313649B2 (en) * 2004-04-28 2007-12-25 Matsushita Electric Industrial Co., Ltd. Flash memory and program verify method for flash memory
US7409492B2 (en) * 2006-03-29 2008-08-05 Hitachi, Ltd. Storage system using flash memory modules logically grouped for wear-leveling and RAID
WO2008096968A1 (en) * 2007-02-05 2008-08-14 Zeen Information Technologies, Inc. System and method for controling flash memory using descriptor array
US20090016429A1 (en) * 2005-08-31 2009-01-15 Yoshiyuki Kokojima Video rendering apparatus and method and program
US7546392B2 (en) * 2005-05-13 2009-06-09 Texas Instruments Incorporated Data transfer with single channel controller controlling plural transfer controllers

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4611278A (en) * 1983-04-01 1986-09-09 Honeywell Information Systems Inc. Wraparound buffer for repetitive decimal numeric operations
JP2509297B2 (ja) 1987-08-31 1996-06-19 沖電気工業株式会社 自己訂正機能付半導体記憶装置及びマイクロコンピュ―タ
US5426747A (en) * 1991-03-22 1995-06-20 Object Design, Inc. Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system
US5475860A (en) 1992-06-15 1995-12-12 Stratus Computer, Inc. Input/output control system and method for direct memory transfer according to location addresses provided by the source unit and destination addresses provided by the destination unit
JPH09212411A (ja) * 1996-02-06 1997-08-15 Tokyo Electron Ltd メモリシステム
US7877542B2 (en) * 2000-01-06 2011-01-25 Super Talent Electronics, Inc. High integration of intelligent non-volatile memory device
US7953931B2 (en) * 1999-08-04 2011-05-31 Super Talent Electronics, Inc. High endurance non-volatile memory devices
JP2001051904A (ja) * 1999-08-11 2001-02-23 Hitachi Ltd 不揮発性半導体メモリを用いた外部記憶装置
JP4842417B2 (ja) * 1999-12-16 2011-12-21 ソニー株式会社 記録装置
US20080320209A1 (en) * 2000-01-06 2008-12-25 Super Talent Electronics, Inc. High Performance and Endurance Non-volatile Memory Based Storage Systems
EP1124179B1 (en) * 2000-02-09 2007-10-17 Texas Instruments Incorporated An apparatus for signal synchronization between two clock domains
JP2001331377A (ja) 2000-05-22 2001-11-30 Hitachi Ltd 再生エラーの処理方法及びこれを用いたディスク装置
JP3574078B2 (ja) * 2001-03-16 2004-10-06 東京エレクトロンデバイス株式会社 記憶装置と記憶装置制御方法
US7617515B1 (en) * 2001-05-24 2009-11-10 Vixs Systems, Inc. Method and apparatus for managing resources in a multimedia system
US7155560B2 (en) * 2001-06-27 2006-12-26 Intel Corporation Method and apparatus for storing data in flash memory
US6895408B1 (en) 2002-03-19 2005-05-17 Oracle International Corporation Method and apparatus to facilitate interaction management between loosely coupled applications
CN100378656C (zh) * 2002-04-30 2008-04-02 Nxp股份有限公司 具有非易失性存储器的集成电路以及用于从所述存储器中取数据的方法
US6795872B2 (en) * 2002-05-09 2004-09-21 Renesas Technology America, Inc. Maintaining at least partial functionality of a device as defined by a hardware configuration at a USB bus enumeration while the device memory is programmed
TWI220959B (en) * 2003-06-05 2004-09-11 Carry Computer Eng Co Ltd Storage device with optimized compression management mechanism
US7237141B2 (en) 2003-06-19 2007-06-26 Lsi Corporation Method for recovering data from a redundant storage object
KR100475125B1 (ko) * 2003-06-21 2005-03-14 삼성전자주식회사 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및이에 대한 데이터 버스 폭 설정 방법
KR100546348B1 (ko) * 2003-07-23 2006-01-26 삼성전자주식회사 플래시 메모리 시스템 및 그 데이터 저장 방법
KR100608592B1 (ko) * 2004-01-27 2006-08-03 삼성전자주식회사 플래시 메모리의 데이터 관리 장치 및 방법
US7212440B2 (en) * 2004-12-30 2007-05-01 Sandisk Corporation On-chip data grouping and alignment
JP4456490B2 (ja) 2005-01-14 2010-04-28 富士通株式会社 Dma装置
JP4416694B2 (ja) * 2005-05-12 2010-02-17 株式会社ソニー・コンピュータエンタテインメント データ転送調停装置およびデータ転送調停方法
TW200717527A (en) * 2005-08-10 2007-05-01 Seiko Epson Corp Semiconductor memory device
US7954037B2 (en) 2005-10-25 2011-05-31 Sandisk Il Ltd Method for recovering from errors in flash memory
US7600090B2 (en) * 2005-11-28 2009-10-06 Atmel Corporation Microcontroller based flash memory digital controller system
JP2007200457A (ja) * 2006-01-26 2007-08-09 Renesas Technology Corp 不揮発性半導体記憶装置
US8074022B2 (en) * 2006-09-28 2011-12-06 Virident Systems, Inc. Programmable heterogeneous memory controllers for main memory with different memory modules
US7716448B2 (en) * 2007-02-28 2010-05-11 Red Hat, Inc. Page oriented memory management
US20080222365A1 (en) * 2007-03-08 2008-09-11 Staktek Group L.P. Managed Memory System
JP5087347B2 (ja) * 2007-09-06 2012-12-05 株式会社日立製作所 半導体記憶装置及び半導体記憶装置の制御方法
US8046542B2 (en) * 2007-11-21 2011-10-25 Micron Technology, Inc. Fault-tolerant non-volatile integrated circuit memory
US8190950B2 (en) * 2007-12-21 2012-05-29 Atmel Corporation Dynamic column redundancy replacement
US8621137B2 (en) * 2007-12-27 2013-12-31 Sandisk Enterprise Ip Llc Metadata rebuild in a flash memory controller following a loss of power
JP4672742B2 (ja) * 2008-02-27 2011-04-20 株式会社東芝 メモリコントローラおよびメモリシステム
KR101553532B1 (ko) * 2008-04-17 2015-09-16 삼성전자주식회사 스토리지 장치
US8195909B2 (en) 2009-10-05 2012-06-05 Seagate Technology Llc Data management in a data storage system
US9135168B2 (en) 2010-07-07 2015-09-15 Marvell World Trade Ltd. Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error
US8868852B2 (en) 2010-07-07 2014-10-21 Marvell World Trade Ltd. Interface management control systems and methods for non-volatile semiconductor memory
US9141538B2 (en) 2010-07-07 2015-09-22 Marvell World Trade Ltd. Apparatus and method for generating descriptors to transfer data to and from non-volatile semiconductor memory of a storage drive
EP2656216B1 (en) 2010-12-20 2018-12-19 Marvell World Trade Ltd. Device with descriptor scheduler and corresponding method and system
TWI446160B (zh) 2011-07-21 2014-07-21 Silicon Motion Inc 快閃記憶體控制器及資料讀取方法
WO2014144043A1 (en) 2013-03-15 2014-09-18 Marvell World Trade Ltd. Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313649B2 (en) * 2004-04-28 2007-12-25 Matsushita Electric Industrial Co., Ltd. Flash memory and program verify method for flash memory
US7546392B2 (en) * 2005-05-13 2009-06-09 Texas Instruments Incorporated Data transfer with single channel controller controlling plural transfer controllers
US20070011396A1 (en) * 2005-06-30 2007-01-11 Utstarcom, Inc. Method and apparatus for bandwidth efficient and bounded latency packet buffering
US20090016429A1 (en) * 2005-08-31 2009-01-15 Yoshiyuki Kokojima Video rendering apparatus and method and program
US7409492B2 (en) * 2006-03-29 2008-08-05 Hitachi, Ltd. Storage system using flash memory modules logically grouped for wear-leveling and RAID
WO2008096968A1 (en) * 2007-02-05 2008-08-14 Zeen Information Technologies, Inc. System and method for controling flash memory using descriptor array
CN101025720A (zh) * 2007-03-28 2007-08-29 华为技术有限公司 一种外部存储器控制器时序配置的装置及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113939877A (zh) * 2019-05-31 2022-01-14 美光科技公司 用于存储器装置的可重新配置信道接口
CN113939877B (zh) * 2019-05-31 2023-02-21 美光科技公司 用于存储器装置的可重新配置信道接口
CN112817534A (zh) * 2021-02-02 2021-05-18 深圳忆联信息系统有限公司 提高ssd读写性能的方法、装置、计算机设备及存储介质
CN112817534B (zh) * 2021-02-02 2023-07-04 深圳忆联信息系统有限公司 提高ssd读写性能的方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
KR20140007317A (ko) 2014-01-17
US20120011298A1 (en) 2012-01-12
WO2012006062A1 (en) 2012-01-12
TW201209836A (en) 2012-03-01
US20150039817A1 (en) 2015-02-05
US9183141B2 (en) 2015-11-10
US8868852B2 (en) 2014-10-21
CN103052948B (zh) 2016-08-17
TWI506638B (zh) 2015-11-01
KR101837111B1 (ko) 2018-04-19

Similar Documents

Publication Publication Date Title
CN103052948A (zh) 用于非易失性半导体存储器的接口管理控制系统和方法
CN105190524B (zh) 用于生成去向和来自存储驱动器的非易失性半导体存储器的数据传送的描述符的装置和方法
CN102483687B (zh) 用于对非易失性半导体存储器中的数据进行压缩的系统和方法
US10496312B2 (en) Method of operating a storage device to compress or decompress data and a data storage system including the storage device
US9329991B2 (en) Translation layer partitioned between host and controller
KR102328612B1 (ko) 호스트와 컨트롤러 간에 파티셔닝된 변환 계층
KR102078853B1 (ko) 메모리 시스템, 호스트 시스템 및 메모리 시스템에서의 라이트 동작 수행 방법
US9348693B2 (en) Data accessing method for flash memory module
CN105229592B (zh) 用于生成用以由于错误而重新访问存储驱动器的非易失性半导体存储器的描述符的装置和方法
TWI495998B (zh) 資料管理方法、記憶體控制器與記憶體儲存裝置
US9135168B2 (en) Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error
CN111052088B (zh) 快速访问非易失性存储器设备的系统和方法
KR102588600B1 (ko) 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
CN108877862B (zh) 页条带的数据组织以及向页条带写入数据的方法与装置
CN109101186A (zh) 数据储存装置与数据储存方法
CN110633225B (zh) 实体存储对照表产生装置及方法
TWI776351B (zh) 利用借助於進階加密標準處理電路之資料保護的資料存取方法、應用於記憶體裝置之記憶體控制器以及應用於記憶體裝置之記憶體控制器的進階加密標準處理電路
TWI804439B (zh) 資料加密的錯誤偵測裝置及方法
CN103365789A (zh) 数据存储装置和flash存储装置的块删除块写入方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200426

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200426

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Patentee before: Marvell International Ltd.

Effective date of registration: 20200426

Address after: Hamilton, Bermuda

Patentee after: Marvell International Ltd.

Address before: Babado J San Mega Le

Patentee before: MARVELL WORLD TRADE Ltd.