CN106469026A - 针对nand闪存的灵活接口 - Google Patents

针对nand闪存的灵活接口 Download PDF

Info

Publication number
CN106469026A
CN106469026A CN201610664256.1A CN201610664256A CN106469026A CN 106469026 A CN106469026 A CN 106469026A CN 201610664256 A CN201610664256 A CN 201610664256A CN 106469026 A CN106469026 A CN 106469026A
Authority
CN
China
Prior art keywords
task
storage
command
memory
look
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.)
Withdrawn
Application number
CN201610664256.1A
Other languages
English (en)
Inventor
何津津
徐伟
Y-T·吴
K-M·姜
于雪婷
赵冬琬
R·玛希雅
陈杰
M·卡鲁里
傅清华
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 CN106469026A publication Critical patent/CN106469026A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • 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
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits

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)
  • Software Systems (AREA)
  • Read Only Memory (AREA)

Abstract

一种针对NAND闪存的灵活接口。一种针对一个或多个存储器通道的存储器通道命令接口对于每个存储器通道包括,针对存储器命令的可编程存储装置;单个通道处理器,其用于运行执行存储器命令;以及任务引擎,其用于将单个通道处理器的输出通信到存储器介质。存储器命令可以被组织成包括包含任务的操作的作业。任务可以作为操作的部分被存储为在操作存储器中,或者可以被存储在任务存储器中,其中指向任务的指针作为操作的部分被存储在操作存储器中。存储器通道命令接口还可以包括存储器介质状态存储,存储器介质状态存储装置存储针对存储器命令的优先级指示,优先级指示基于除了存储器命令的到达或接受的顺序之外的条件,并且单个通道处理器基于优先级指示来控制存储器命令的运行执行的顺序。

Description

针对NAND闪存的灵活接口
相关申请的交叉引用
本文要求分别于2015年8月14日和2016年2月19日提交的共同待审的共同转让的美国临时专利申请号62/205,142和62/297,230的权益,将其每个相应整体通过引用并入本文。
技术领域
本公开内容的主题的实施方式大体涉及存储器接口,并且具体地涉及灵活接口,其可以是针对诸如NAND闪存的存储器设备可重配置的。
背景技术
本文中提供的背景描述是出于大体呈现本公开内容的背景的目的。本文的发明人的到在该背景部分中描述工作的程度的工作以及在提交的时间不可以称为现有技术的说明书的各个方面,既不是明确地或也不是隐含地被认为是针对本公开内容的现有技术。
存在针对NAND闪存的不同类型的接口。例如,存在基于从开放NAND闪存接口工作组可获得的开放NAND闪存接口(ONFI)标准的接口,而切换模式标准是由东芝公司针对其闪存产品开发的。然而,在诸如ONFI和切换模式的已知标准中,命令序列是固定的。在硬件实施方式中,命令可以是硬编码的。例如,每个命令序列可以被实施为有限状态机。因此,其可以是复杂的以在必要或期望时改变命令序列。此外,不同的NAND闪存供应商可以具有不同的定制命令,无论何时命令序列要被修订都需要定制改变。
另外,一些已知的闪存接口针对每个存储器通道使用多个处理器,伴随随之而来的功率消耗的后果。命令一般以它们被接收到的顺序在逐个处理器的基础上来执行,而不管它们的相对重要性。
发明内容
根据本公开内容的主题的实施方式,一种针对一个或多个存储器通道的存储器通道命令接口,其针对一个或多个存储器通道中的每个存储器通道包括,针对存储器命令的可编程存储装置;用于执行存储器命令的单个通道处理器;以及任务引擎,其用于将单个通道处理器的输出通信到存储器介质。
在这样的实施方式中,存储器命令可以被组织成包括包含任务的操作的作业;并且针对存储器命令的可编程存储装置包括作业存储器和操作存储器。任务可以被存储为操作存储器中的操作的部分,或者针对存储器命令的可编程存储装置可以包括任务存储器,其中任务被存储在任务存储器中,并且(到存储在任务存储器中的任务的)指针被存储为操作存储器中的操作的部分。
在一些实施方式中,存储器通道命令接口还包括存储器介质状态存储装置。存储器介质状态存储装置可以存储针对存储器命令的优先级指示,优先级指示可以基于除了存储器命令的到达或接受的顺序之外的条件,并且单个通道处理器基于优先级指示来控制存储器命令的执行的顺序。
根据一些实施方式,一种操作存储器通道命令接口的方法包括:将存储器任务编程到存储器通道命令接口中的可编程存储装置中;将命令输入到存储器通道命令接口中;以及通过从可编程存储装置选择存储器任务中的一个来执行命令。针对多个命令中的每个命令的优先级指示可以基于除了命令的到达或接受的顺序之外的条件,并且多个命令可以以基于优先级指示的顺序来执行。
附图说明
在结合附图考虑下面的具体实施方式后,本公开内容的另外的特征、其性质和各个优点将变得显而易见,其中类似的附图标记在其中指代类似的部分,并且其中:
图1示出了包括NAND闪存的系统的示例;
图2示出了NAND闪存接口驱动器的已知实施方式;
图3示出了根据本公开内容的主题的第一实施方式的NAND闪存接口驱动器;
图4示出了NAND闪存命令作业的结构的示例;
图5示出了NAND闪存命令作业内的命令阶段的第一示例;
图6示出了NAND闪存命令作业内的命令阶段的第二示例;
图7示出了NAND闪存命令作业内的命令阶段的第三示例;
图8示出了读取命令作业的示例的结构;
图9示出了图8的示例读取命令作业的命令流;
图10示出了图8的示例读取命令作业的处理器流;
图11示出了图8的示例读取命令作业的通道I/O流;
图12示出了针对“命令”任务的格式的示例;
图13示出了针对“寻址”任务的格式的示例;
图14示出了针对“等待”或“延迟”任务的格式的示例;
图15示出了针对“数据_输入(data_in)”任务的格式的示例;
图16示出了针对“数据_输出(data_out)”任务的格式的示例;
图17示出了命令作业的格式的示例;
图18示出了存储在操作存储器中的操作的示例;
图19示出了图18的操作的阶段的结构的示例;
图20示出了逻辑单元状态存储器的操作的操作流的示例;
图21示出了用于存储逻辑单元状态存储器中的逻辑单元状态的比特掩码的示例;以及
图22示出了在根据本公开内容的主题的第二实施方式的NAND闪存接口驱动器中使用的查找表的示例。
具体实施方式
如以上所指出的,在现有闪存接口中,尤其是在NAND闪存接口中,命令可以被硬编码。例如,每个命令序列可以被实施为有限状态机。这可以使其复杂以在必要或期望时改变命令序列,并且情形被在不同的标准下和来自不同的供应商的不同命令进一步复杂。
此外,已知的闪存接口使用针对每个存储器通道的多个处理器,即使处理器中的许多处理器在大部分时间处于未使用。那些处理器不必要地在处于空闲时消耗功率,增加了接口的高于必要的功率消耗的总体功率消耗。
另外,命令一般以它们被接收到的顺序在逐个处理器的基础上来执行,不管它们的相对重要性,即使一些命令可以具有更高程度的紧迫性或者另外具有比其他命令更高的相对重要性。
根据本公开内容的主题的实施方式,可以提供针对NAND闪存的接口驱动器,其中命令能够由用户限定或改变。因为命令能够被改变,所以能够适应来自不同供应商的命令序列,并且能够使用ONFI和切换模式标准以及其他标准。
本公开内容的主题的实施方式还是使用一个处理器来执行多个“作业”或命令。例如,每个通道可以存在一个处理器。这减少功率消耗。可由用户编程的存储器结构存储可以被调用的可用命令或“任务“。该存储器结构可以包括能够由用户更改的查找表。
图1示出了包括NAND闪存的系统100的示例。一个或多个NAND闪存单元101经由闪存控制器103与主机系统102(其可以为例如个人计算机)通信。可以被实施为例如片上系统的闪存控制器103可以包括一个或多个NAND物理层接口(PHY)单元113,其中的每个NAND物理层接口(PHY)单元处理与NAND闪存单元101中的一个或多个的实际物理层通信。NAND管理子系统123与主机系统102接口连接,接收来自主机系统102的存储器请求并对其做出响应。NAND闪存接口驱动器133处于NAND管理子系统123与NAND PHY单元113之间。除了其他功能,NAND闪存接口驱动器133将来自主机系统102的存储器请求转化成能够被中继到用于通信到NAND闪存单元101的NAND PHY单元113的更多的基本命令或任务。
如以上所指出的,已知的NAND闪存接口驱动器一旦被实施已经难以改变。例如,NAND闪存接口驱动器可以被实施为与不同的命令序列相对应的多个硬接线的有限状态机(未示出)。在这样的实施方式中,改变(或添加)任何命令需要要求改变(或添加)对应的有限状态机。为了提供超过一个存储器通道的相同的命令的同时发布,针对每个命令序列可以存在对应的有限状态机的多个实例,其中的每个将必须在对应的命令序列要被改变时被改变。
NAND闪存接口驱动器200的另一已知实施方式被示出在图2中。NAND闪存接口驱动器200包括多个并行作业处理器201。每个作业处理器201可以是硬接线的微处理器。每个作业处理器201通常一次处理一个命令(其可以被称为“描述符”)。当来自主机系统102的每个命令到达时,其被分配以作业优先级表203中的优先级。一般地,在这样的系统中的优先级由到达的顺序确定。
通常,任何作业处理器201能够对针对NAND闪存单元101中的逻辑单元(LUN)中的任何一个的命令起作用。多路复用电路202将每个作业处理器201的输出指引到正确的LUN。仲裁逻辑204确定哪个命令由哪个作业处理器201处理。作为一个示例,可以应用以下仲裁规则:
1.以它们被接收到的顺序处理命令描述符。
2.按顺序处理针对相同LUN的不同命令描述符;尽管规则1,针对特定LUN的命令描述符将在针对该LUN的不同命令描述符仍然被处理的情况下被保持,并且在那种情况下针对不同LUN的命令描述符将甚至在它在稍后被接收到的情况下被处理。
3.按顺序处理程序描述符,即,按顺序处理程序数据(甚至在规则2的情况下,命令描述符不按顺序来处理)。
4.处理读取描述符使得读取数据按顺序被传递(甚至在规则2的情况下,命令描述符不按顺序来处理)。
在诸如NAND闪存接口驱动器200的NAND闪存接口中,作业处理器201的利用率可以很低。例如,如果针对相同LUN的多个命令描述符被分配到作业处理器201的不同作业处理器,则在任何一个时间处这些作业处理器201中的仅仅一个是活动的。作业处理器201中的每个其他作业处理器必须等待直到所有较早的命令描述符已经由作业处理器201中的其他作业处理器执行。许多作业处理器201在大部分时间,尤其是在状态轮询期间保持不活动。
另外,针对这样的布置可能需要复杂的仲裁逻辑。作业处理器201中的每个可能需要检查作业处理器201中的每个其他作业处理器的状态以确定它自己的下一动作。仲裁过程的复杂度随着作业处理器201的数量N的平方而增大。此外,难以关闭针对这种布置的计时。
最后,命令描述符是由作业处理器201执行还是作为状态机(未示出)执行,在已知系统中该命令被硬编码。因此,限制了支持不同命令的灵活性。
根据本公开内容的主题的实施方式,每个通道的一个处理器执行可配置的NAND闪存命令。处理器可以是命令无意识的,即,没有关于针对特定命令构建的处理器的内容。这提高处理器的灵活性以执行由用户配置的任何命令。
在图3中示出了根据本公开内容的主题的实施方式的NAND闪存接口(NFIF)驱动器300的一个示例。多个作业处理器201由单个每通道处理器301替代。通道处理器301可以是用于提高的灵活性的可编程微处理器。在302处输入(例如,来自命令处理器312的)命令,而数据在读/写数据总线303上被输入或被输出。通道任务引擎304将新的处理器301的输出与来自读/写数据先进/先出电路(FIFO)313的数据组合,读/写数据先进/先出电路(FIFO)313连接到读/写数据总线303,其继而连接到错误校正单元(ECU)323。通道任务引擎304(例如通过NAND PHY单元113)与NAND闪存单元101通信。
在302处的命令输入的通道处理器301的执行根据作业存储器305、操作存储器306、任务存储器307和LUN状态308的内容来控制。
如图4所示,命令“作业”400包括一个或多个阶段401。每个阶段401包括任务组411和流控制421,流控制421控制任务组411被执行多少次(每个任务组411能够被执行超过一次)。每个任务组411包括被发送到NAND闪存单元101的实际命令(CMD)、寻址(ADDR)、数据-输入(DIN)、数据-输出(DOUT)和等待(WAIT)任务。如在该示例中示出的,用于执行任务组411的流控制421的执行在通道处理器301中执行,而任务组411中的实际任务在通道任务引擎304中被执行。
图5-7示出了流控制421的不同示例。针对简单的阶段500(图5),该阶段的任务组511(“阶段任务”)根据相关联的流控制421(未示出在图5中)仅仅被执行一次。针对某种程度更复杂的阶段600(图6),阶段任务611同样根据相关联的流控制421仅仅被执行一次,但是流控制421还包括在阶段任务611之后的等待命令(“阶段等待”)621。在循环类型阶段700(图7)中,阶段任务711可以根据相关联的流控制421的条件721被执行多次。另外,流控制421还可以包括阶段等待621。
图8-11示出了读取命令作业800的示例。如图8所示,作业800包括命令字节801、五个寻址字节802-806和另一命令字节807。在等待或者休息时间tR之后,一个命令字节808和三个寻址字节809-811被发送出以检查NAND闪存的状态。状态检查可以发生超过一次直到状态字节812指示数据已经在NAND闪存中。当数据准备好时,命令字节813、五个寻址字节814-818和另一命令字节819被发布到NAND闪存以开始数据传输,并且n个数据字节820被返回。分别在图9-11中示出了在作业水平、处理器水平和通道I/O水平处的对应的流。
(图9)作业流900以读取命令和寻址901开始,跟着等待时间tR 902。在该等待时间tR 902期间,缓冲器在NAND闪存单元101中下载所请求的数据。循环903连续地检查直到下载完成,如由从测试913得到的“是(YES)”指示的。一旦完成下载,在904处发布输出命令(“改变列寻址增强”)并且在905处读出数据。
在处理器水平处(图10),在处理器流1000的第一阶段1001中,读取命令由处理器301发送到通道任务引擎304并且作业之后被挂起,直到处理器301被关注等待时间tR。第一阶段1001对应于作业流900中的901和902。
在第二阶段1002(对应于循环903)中,读取状态任务由处理器301发送到通道任务引擎304并且检查所返回的任务的准备就绪比特。如果准备就绪比特指示“未准备就绪”,则作业被挂起轮询间隔,并且读取状态任务之后被重复。如果准备就绪比特指示“准备就绪”,则阶段完成并且处理器流1000一直移动到第三阶段1003。
在第三阶段1003(对应于904和905)中,改变列寻址和读取数据任务由处理器301发送到通道任务引擎304,并且完成作业。
在通道水平处,通道I/O流1100(图11)以(对应于901和902,并且对应于阶段1001的)读取命令任务1101开始,读取命令任务1101包括命令字节、五个寻址字节和另一命令类型(参考图8),跟着等待时间tR 1102。这跟着必要多的(对应于循环903和阶段1002的)读取状态任务1103,其中每个读取状态任务可以包括一个命令字节、三个寻址字节、一个等待字节和一个数据_输入字节。流1100以(对应于904和905和阶段1003的)改变列寻址和读取数据任务1104结束,其可以包括一个命令字节、五个寻址字节、一个命令字节、一个等待字节和必要多的数据_输入字节。
如以上所指出的,根据本公开内容的主题的实施方式,有效的任务定义能够被汇编成任务阶段和作业。图1216示出了任务格式的示例。图12示出了针对命令任务1200的格式,其可以被指定为任务_类型(task_type)0。图13示出了针对寻址任务1300的格式,其可以被指定为任务_类型1。图14示出了针对等待或延迟任务1400的格式,其可以被指定为任务_类型2。图15示出了针对数据_输入任务1500的格式,其可以被指定为任务_类型3。图16示出了针对数据_输出任务1600的格式,其可以被指定为任务_类型4。根据ONFI规范,例如,针对总计116个字节,命令任务可以占有64个字节并且包括高达32个命令,寻址任务可以占有14个字节,任务_类型任务可以占有18个字节,数据_输出任务可以占有16个字节,并且等待任务可以占有4字节。因此,任务存储器307可以为128字节。
在图12-16中示出的示例中,除了等待或延迟任务1400(任务_类型2)之外的每个任务格式包括一个头字节1201和至少一个额外字节。在每个格式中,头字节1201的第二半1211(即4个比特)为任务类型保留。尽管仅仅需要3个比特来适应五个任务类型,但是可以提供额外任务类型。
在任务格式1200(命令)和1300(寻址)中,头字节1201的第一比特1221是数据_源(data_source)比特,其指示任务数据是在作业存储器305中还是在任务存储器307中被发现。下面的三个比特表示周期数量1231,其指示在任务中包括多少额外字节1202/1302(以及任务执行需要多少时钟周期);利用三个比特,可以提供总共八个额外字节。
在任务格式1400(等待或延迟)中,头字节1201的第一半1401(四个比特)表示延迟任务中的时钟周期的数量,即,如在时钟周期中测量的延迟的长度。利用四个比特,高达16个周期的延迟是可能的。
在任务格式1500(数据_输入)中,头两个比特1501表示数据路径。在示出的示例中,存在三个选择:数据被发送到ECU 323,或者被发送到通道处理器301以用于转发到命令处理器312,或者被发送到通道处理器301以用于状态检查,但是高达四个选择能够利用两个比特来供应。类似地,下两个比特1502表示周期数量源,即,针对能够来自作业存储器305的或者来自当前任务存储器307的当前周期的数据的源,然而能够利用两个比特来供应高达四个选择。如所示出的,除了头字节1201之外,任务1500被期望包括仅仅一个字节1503。
在任务格式1600(数据_输出)中,头两个比特1601表示数据路径。在示出的示例中,存在仅仅两个选择:数据从ECU 323或者从作业存储器305获得,但是高达四个选择能够利用两个比特来供应。如所示出的,除了头字节1201之外,任务1600根据由比特1601选择的数据路径被期望包括一个或两个字节1603。该一个或多个字节的内容1613、1623取决于由比特1601选择的数据路径而不同。如果比特1601=‘0’,则所选择的数据路径包括ECU 323,并且两个比特1602确定数据是来自作业存储器305还是任务存储器307。存在仅仅是具有内容1613的一个字节1603,其确定开始索引和/或传输计数。如果比特1601=‘1’,则所选择的数据路径包括作业存储器305,并且存在两个字节1603,其中的一个具有内容1613,并且其中的另一个具有内容1623。
如以上所指出的,任务被分组到阶段中,阶段被分组到作业(也被称为“操作”)中。命令处理器312将作业沉积到作业存储器305中。作业存储器305中的作业的示例格式1700被示出在图17中并且为32个比特宽。第一线路1701包含命令ID,其可以为高达32个比特宽。第二线路1702包括寻址信息,该寻址信息包括逻辑单元(LUN)号1712、卷(VOL)号1722、设备(DEV)号1732和通道(CH)号1742,其全部被示出为4个比特宽,以及到组成作业的操作的指针1752。除了两个保留字段1713之外,第三线路1703包括多个流控制比特(RRD、CC、ML、LC、TC和GRP)1723、命令类型1733以及另外的寻址信息,另外的寻址信息包括分配单元(AU)号1743和多平面(MP)号1753(在包含多个页的情况下;针对包含仅仅一个页的单平面操作,MP=0)。(一个或多个)剩余的线路1704包括针对作业的操作数。
组成作业的操作可以被存储在操作存储器306中,并且其在指针1752可以指向的地方。图18示出了存储在操作存储器306中并由指针1752指向的一个操作1800。操作1800包括多个阶段1801,以阶段0(1811)开始并且以最后阶段1821结束。因为阶段的数量不固定,所以最后阶段1821由最后阶段字段(LP)中的值识别(图19)。
图19示出了阶段1801的结构1900的示例。在该示例中,阶段1900是32个比特宽。除了其他字段,阶段1900的第一线路1901包括如以上所讨论的最末阶段(LP)字段1911。LP字段1911中的值以信号传达该阶段1900是否为其作业中的“最后阶段”,如以上所讨论的。例如,‘0’能够指示这不是最后阶段,而‘1’能够指示这是最后阶段,或者反之亦然。
除了其他字段,阶段1900的线路1901包括下面进一步讨论的阶段优先级字段1921和阶段类型字段1931。阶段类型字段1931中的值可以与图5-7中示出的三种类型的阶段500、600、700相关(例如,值0、1和2)。在该连接中,阶段1900的线路1902是针对阶段类型=1或阶段类型=2的情况(其分别指示在具有等待阶段600或循环阶段700的任务处)的任选的线路,并且包含阶段等待周期数量。
阶段1900的剩余线路包含关于阶段1900的任务组1903中的任务的信息。如图19所示,任务组1903中的线路中的每个包含指向任务存储器307中的任务的指针。然而,在许多实施方式中,任务格式本身可以是足够小以适合代替指针放入到任务组1903的一个线路中(其是四个字节长)。在这样的实施方式中,任务存储器307可以被省略。例如,如图12-16所示,一些任务格式可以仅仅是一个字节或两个字节长,并且同时其他任务格式可以高达八个字节长,它们能够更短,并且高达四个字节的任何任务将适合放入到阶段1900的线路中。
操作存储器306的内容,并且在提供的情况下,任务存储器307能够被编程以适应来自不同供应商的NAND闪存产品的命令和信号结构。此外,操作存储器306并且在提供的情况下任务存储器307可以是用户可编程的以适应定制用户任务和命令。
LUN状态存储器308可以被用于提供针对NAND闪存单元101中的每个LUN的以下状态指示中的一个:
空闲(IDLE):在该LUN上没有作业。
待处理(PENDING):作业待处理。
预激活(PRE-ACTIVE):预先提取下一阶段任务组。
激活(ACTIVE):阶段被选择以使用任务引擎。
等待(WAIT):阶段等待。作业在WAIT期间被挂起。如已知的,LUN状态存储器308还可以包括关于链和等待时间状态的信息。
在图20中用图解法表示了LUN状态存储器308的操作的操作流2000。如图20中所示,针对每个LUN的阶段状态(参加先前段落)被指示在阶段状态2001中。阶段状态2001还在2011处存储针对考虑下的LUN的当前阶段状态的阶段指针,以及针对当前阶段状态的优先级水平,其优先级水平基于除了到达或接受的顺序之外的事物。优先级水平能够由用户设置。另外,阶段可以在其为阶段或操作的链的不应当被中断的部分的情况下具有更高优先级。处理器301能够使用优先级水平来执行在它被接收到的顺序之外的阶段,不像先前已知的NAND闪存接口驱动器。
操作流2000最好被理解为在测试2002的结束处开始,在测试2002中确定当前阶段是否是其作业中的最后阶段。如果,在测试2002处,当前阶段是其作业中的最后阶段,则流返回到2003,其中LUN状态被指示为空闲直到新的作业被分配给考虑下的LUN。如果,在测试2002处,当前阶段不是其作业中的最后阶段,则流返回到2001,其中下一阶段的状态为待处理、预激活或激活,并且最终执行。在该阶段执行之后,流前进到测试2002以再次确定当前阶段是否是其作业中的最后阶段,除非阶段包括阶段等待,在这种情况下流前进等待状态2004直到等待时间流逝并且之后流前进到测试2002。
针对LUN状态存储器308中的各个状态指示器的存储格式可以采用针对每个状态类型的比特掩码的形式。例如,如图21所示,每个状态比特掩码为32个比特宽,其中每个比特表示特定LUN的索引。如所示出的,存在针对空闲、待处理、预激活、激活和等待的单独的比特掩码2101-2105。每个LUN的状态可以由针对恰当的状态的比特掩码中的该LUN的索引位置中的‘1’指示,其中‘0’出现在所有其他比特掩码中的该位置中。备选地,每个LUN的状态可以由针对恰当的状态的比特掩码中的该LUN的索引位置中的‘0’指示,其中‘1’出现在所有其他比特掩码中的该位置中。
可以被存储在LUN状态存储器308中的其他信息能够包括,针对每个LUN,等待时间时间戳(如以上所讨论的)、指向针对该LUN的下一阶段的指针(除了以上提到的指向当前阶段的指针),指向针对该LUN的下一阶段的指针、以及当前阶段对应的作业或命令的识别。
在本公开内容的主题的另一实施方式中,代替提供具有预定义操作和任务的操作存储器306(以及任选的任务存储器307),可以提供包含用户能够选择以构建各种操作和任务的序列的查找表的集合。
在基本水平处,NAND闪存接口是信号(读使能的、写使能的、清除的、等等)的集合。因此,NAND闪存事务是这些信号中的一个或多个的一系列切换。针对接口信号中的每个的值的汇集和针对NAND闪存命令总线上的每个信号值的保持时间可以被定义为信号帧。继而,NAND闪存任务可以被定义为信号帧的序列,并且NAND闪存操作可以被定义为任务的序列。
因此,在这种实施方式中,操作存储器306和任务存储器307能够利用图22中示出的查找表(LUT)来替代。帧序列LUT 2201中的每个条目表示接口信号状态和保持时间。任务序列LUT 2202中的每个条目表示能够为任务序列的部分的命令,并且包括指向帧序列LUT2201中的条目的指针2212,和用于指示来自一起组成由任务序列LUT 2202中的条目表示的命令的指向条目的条目的数目的计数器2222。备选地,如果组成由任务序列LUT 2202中的条目表示的命令的帧序列LUT 2201中的条目在帧序列LUT 2201中不是连续的,则任务序列LUT 2202中的每个条目能够包括指向组成由任务序列LUT 2202中的条目表示的命令的帧序列LUT 2201中的条目的指针的集合(未示出)。
继而,任务指针LUT 2203中的每个条目表示由任务的序列组成的存储器操作,并且包括指向任务序列LUT 2202中的条目的指针2213和用于指示来自一起组成由任务指针LUT 2203中的条目表示的存储器操作的指向条目的条目的数目的计数器2223。备选地,如果组成由任务指针LUT 2203中的条目表示的存储器操作的任务序列LUT2202中的条目在任务序列LUT 2202中不是连续的,则任务指针LUT 2203中的每个条目能够包括指向组成由任务指针LUT 2203中的条目表示的存储器操作的任务序列LUT 2202中的条目的指针的集合(未示出)。
查找表2201、2202、2203可以是可编程的。因此,各个信号序列和命令序列能够被更改以适应来自不同供应商的NAND闪存产品的命令和信号结构。此外,查找表2201、2202、2203可以是用户可编程的以适应定制用户任务和命令。
因此,可见,已经提供了更灵活的NAND闪存接口的实施方式,以适应来自不同供应商的NAND闪存产品的命令和信号结构以及定制用户任务和命令。另外,所公开的NAND闪存接口是更有效的,因为存在较少的处理器在大部分时间处于空闲的,并且处理器能够基于它们的优先级而非它们被接收到的顺序来执行任务。
本发明的另外的方面涉及以下一条或多条:
第1条:一种针对一个或多个存储器通道的存储器通道命令接口,所述存储器通道命令接口包括,针对所述一个或多个存储器通道中的每个:
针对存储器命令的可编程存储装置;
单个通道处理器,其用于执行所述存储器命令;以及
任务引擎,其用于将所述单个通道处理器的输出通信到存储器介质。
第2条:根据第1条所述的存储器通道命令接口,其中所述存储器介质是NAND闪存。
第3条:根据第1条所述的存储器通道命令接口,其中:
存储器命令被组织成包括包含任务的操作的作业;并且
针对存储器命令的所述可编程存储装置包括作业存储器和操作存储器。
第4条:根据第3条所述的存储器通道命令接口,其中任务作为操作的部分被存储在所述操作存储器中。
第5条:根据第3条所述的存储器通道命令接口,其中:
针对存储器命令的所述可编程存储装置包括任务存储器;
任务被存储在所述任务存储器中;并且
指向存储在所述任务存储器中的所述任务的指针作为操作的部分被存储在所述操作存储器中。
第6条:根据第1条所述的存储器通道命令接口,其中针对所述存储器命令的所述可编程存储装置包括至少一个查找表。
第7条:根据第6条所述的存储器通道命令接口,其中:
存储器命令被组织成包括包含任务的操作的作业;并且
所述任务被存储在所述至少一个查找表中的第一个中。
第8条:根据第7条所述的存储器通道命令接口,其中:
作业包括所述任务的序列;
指向所述任务的序列的指针被存储在所述至少一个查找表中的第二个中;
所述作业从所述至少一个查找表中的所述第二个查找表选择指向任务的所述序列中的一个序列的所述指针中的一个指针;并且
所述指针中的所述一个从所述至少一个查找表中的所述第一个查找表选择任务的所述序列中的所述一个序列。
第9条:根据第8条所述的存储器通道命令接口,其中:
针对所述存储器介质的控制信号序列被存储在所述至少一个查找表中的第三个中;
任务的所述序列中的所述一个中的每个任务从所述至少一个查找表中的所述第三个查找表选择控制信号序列。
第10条:根据第1条所述的存储器通道命令接口,还包括存储器介质状态存储装置。
第11条:根据第10条所述的存储器通道命令接口,其中:
所述存储器介质状态存储装置存储针对存储器命令的优先级指示;
所述优先级指示基于除了所述存储器命令的到达或接受的顺序之外的条件;以及
所述单个通道处理器基于所述优先级指示来控制存储器命令的执行的顺序。
第12条:根据第11条所述的存储器通道命令接口,其中:
所述存储器介质状态存储装置存储针对所述存储器命令中的每一个的单独的优先级指示;并且
所述单个通道处理器基于所述单独的优先级指示来控制所述存储器命令的所述执行的顺序。
第13条:一种操作存储器通道命令接口的方法,所述方法包括:
将存储器任务编程到所述存储器通道命令接口中的可编程存储装置中;
将命令输入到所述存储器通道命令接口中;以及
通过从所述可编程存储装置选择所述存储器任务中的多个来执行所述命令。
第14条:根据第13条所述的方法,其中:
所述输入命令包括输入多个命令;并且
所述方法还包括基于除了所述命令的到达或接受的顺序之外的条件来将优先级指示分配到所述多个命令中的每个命令;并且
所述执行包括以基于所述优先级指示的顺序执行所述多个命令。
第15条:根据第13条所述的方法,其中所述的将存储器任务编程到所述存储器通道命令接口中的所述可编程存储装置中包括接受由所述存储器通道命令接口的用户对存储器任务的编程。
第16条:根据第15条所述的方法,其中接受由所述存储器通道命令接口的用户对存储器任务的编程包括接受至少一个查找表的编程。
第17条:根据第13条所述的方法,其中:
所述输入所述命令包括将所述命令分解为操作,并且将所述操作分解为所述存储器任务中的多个存储器任务;并且
所述通过从所述可编程存储装置选择所述存储器任务中的多个存储器任务来执行所述命令包括执行所述存储器任务中的在所述输入期间所述操作被分解而成的存储器任务中的多个。
第18条:根据第13条所述的方法,其中:
所述的将存储器任务编程到所述存储器通道命令接口中的可编程存储装置中包括:
将所述存储器任务中的每个分解为存储器接口信号的相应序列,以及
将存储器接口信号的每个相应序列存储在第一查找表中;以及
所述的通过从所述可编程存储装置选择所述存储器任务中的多个存储器任务来执行所述命令包括查找所述第一查找表中的存储器接口信号的所述相应序列。
第19条:根据第18条所述的方法,其中:
所述的将存储器任务编程到所述存储器通道命令接口中的可编程存储装置中还包括:将从每个相应存储器任务指向所述第一查找表中的存储器接口信号的所述相应序列中的一个的任务指针存储在第二查找表中;以及
所述查找所述第一查找表中的存储器接口信号的所述相应序列包括查找所述第二查找表中的每个相应任务以找到指向所述第一查找表中的存储器接口信号的所述相应序列的所述任务指针。
第20条:根据第19条所述的方法,还包括:
将针对指向所述第二查找表中的任务指针的相应序列的每个相应命令的相应命令指针存储在第三查找表中;其中:
所述查找所述第一查找表中的存储器接口信号的所述相应序列还包括,在将命令输入到所述存储器通道命令接口中时,查找所述第三查找表中的所述命令以找到针对所述第二查找表中的任务指针的每个相应序列的所述相应命令指针。
将理解,前文仅仅是对本发明的原理的说明,并且本发明能够由除了所描述的实施例之外的实施例来实践,所描述的实施例出于说明而非限制的目的而被呈现,并且本发明仅仅受随附权利要求限制。

Claims (20)

1.一种用于一个或多个存储器通道的存储器通道命令接口,所述存储器通道命令接口针对所述一个或多个存储器通道中的每个存储器通道包括:
针对存储器命令的可编程存储装置;
单个通道处理器,其用于执行所述存储器命令;以及
任务引擎,其用于将所述单个通道处理器的输出通信到存储器介质。
2.根据权利要求1所述的存储器通道命令接口,其中所述存储器介质是NAND闪存。
3.根据权利要求1所述的存储器通道命令接口,其中:
存储器命令被组织成包括操作的作业,所述操作包含任务;并且
针对存储器命令的所述可编程存储装置包括作业存储器和操作存储器。
4.根据权利要求3所述的存储器通道命令接口,其中任务作为操作的部分被存储在所述操作存储器中。
5.根据权利要求3所述的存储器通道命令接口,其中:
针对存储器命令的所述可编程存储装置包括任务存储器;
任务被存储在所述任务存储器中;并且
指向存储在所述任务存储器中的所述任务的指针作为操作的部分被存储在所述操作存储器中。
6.根据权利要求1所述的存储器通道命令接口,其中针对存储器命令的所述可编程存储装置包括至少一个查找表。
7.根据权利要求6所述的存储器通道命令接口,其中:
存储器命令被组织成包括操作的作业,所述操作包含任务;并且
所述任务被存储在所述至少一个查找表中的第一个查找表中。
8.根据权利要求7所述的存储器通道命令接口,其中:
作业包括所述任务的序列;
指向所述任务的序列的指针被存储在所述至少一个查找表中的第二个查找表中;
所述作业从所述至少一个查找表中的所述第二个查找表选择指向任务的所述序列中的一个序列的所述指针中的一个指针;并且
所述指针中的所述一个指针从所述至少一个查找表中的所述第一个查找表选择任务的所述序列中的所述一个序列。
9.根据权利要求8所述的存储器通道命令接口,其中:
针对所述存储器介质的控制信号序列被存储在所述至少一个查找表中的第三个查找表中;
任务的所述序列中的所述一个序列中的每个任务从所述至少一个查找表中的所述第三个查找表选择控制信号序列。
10.根据权利要求1所述的存储器通道命令接口,还包括存储器介质状态存储装置。
11.根据权利要求10所述的存储器通道命令接口,其中:
所述存储器介质状态存储装置存储针对存储器命令的优先级指示;
所述优先级指示基于除了所述存储器命令的到达或接受的顺序之外的条件;以及
所述单个通道处理器基于所述优先级指示来控制存储器命令的执行的顺序。
12.根据权利要求11所述的存储器通道命令接口,其中:
所述存储器介质状态存储装置存储针对所述存储器命令中的每一个存储器命令的独立的优先级指示;并且
所述单个通道处理器基于所述独立的优先级指示来控制所述存储器命令的所述执行的顺序。
13.一种操作存储器通道命令接口的方法,所述方法包括:
将存储器任务编程到所述存储器通道命令接口中的可编程存储装置中;
输入命令到所述存储器通道命令接口中;以及
通过从所述可编程存储装置选择所述存储器任务中的多个存储器任务来执行所述命令。
14.根据权利要求13所述的方法,其中:
所述输入命令包括输入多个命令;并且
所述方法还包括基于除了所述命令的到达或接收的顺序之外的条件,来将优先级指示分配到所述多个命令中的每个命令;并且
所述执行包括以基于所述优先级指示的顺序执行所述多个命令。
15.根据权利要求13所述的方法,其中所述将存储器任务编程到所述存储器通道命令接口中的所述可编程存储装置中包括:接受由所述存储器通道命令接口的用户对存储器任务的编程。
16.根据权利要求15所述的方法,其中接受由所述存储器通道命令接口的用户对存储器任务的编程包括接受至少一个查找表的编程。
17.根据权利要求13所述的方法,其中:
所述输入所述命令包括将所述命令分解为操作,以及将所述操作分解为所述存储器任务中的多个存储器任务;并且
所述通过从所述可编程存储装置选择所述存储器任务中的多个存储器任务来执行所述命令包括:执行所述存储器任务中的在所述输入期间所述操作被分解而成的存储器任务中的多个。
18.根据权利要求13所述的方法,其中:
所述将存储器任务编程到所述存储器通道命令接口中的可编程存储装置中包括:
将所述存储器任务中的每个存储器任务分解为存储器接口信号的相应序列,以及
将存储器接口信号的每个相应序列存储在第一查找表中;以及
所述通过从所述可编程存储装置选择所述存储器任务中的多个存储器任务来执行所述命令包括查找所述第一查找表中的存储器接口信号的所述相应序列。
19.根据权利要求18所述的方法,其中:
所述将存储器任务编程到所述存储器通道命令接口中的可编程存储装置中还包括:将从每个相应存储器任务指向所述第一查找表中的存储器接口信号的所述相应序列中的一个序列的任务指针存储在第二查找表中;以及
所述查找所述第一查找表中的存储器接口信号的所述相应序列包括:查找所述第二查找表中的每个相应任务,以找到指向所述第一查找表中的存储器接口信号的所述相应序列的所述任务指针。
20.根据权利要求19所述的方法,还包括:
将针对指向所述第二查找表中的任务指针的相应序列的每个相应命令的相应命令指针存储在第三查找表中;其中:
所述查找所述第一查找表中的存储器接口信号的所述相应序列还包括:在将命令输入到所述存储器通道命令接口中时,查找所述第三查找表中的所述命令以找到针对所述第二查找表中的任务指针的每个相应序列的所述相应命令指针。
CN201610664256.1A 2015-08-14 2016-08-12 针对nand闪存的灵活接口 Withdrawn CN106469026A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562205142P 2015-08-14 2015-08-14
US62/205,142 2015-08-14
US201662297230P 2016-02-19 2016-02-19
US62/297,230 2016-02-19

Publications (1)

Publication Number Publication Date
CN106469026A true CN106469026A (zh) 2017-03-01

Family

ID=57995489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610664256.1A Withdrawn CN106469026A (zh) 2015-08-14 2016-08-12 针对nand闪存的灵活接口

Country Status (3)

Country Link
US (1) US20170046102A1 (zh)
CN (1) CN106469026A (zh)
TW (1) TW201719429A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109324828A (zh) * 2018-09-21 2019-02-12 山东华芯半导体有限公司 一种在验证平台中实现闪存多命令并行执行的方法
CN110109618A (zh) * 2019-04-24 2019-08-09 珠海妙存科技有限公司 一种维护闪存操作时序的方法
CN115878501A (zh) * 2021-07-27 2023-03-31 北京特纳飞电子技术有限公司 用于灵活存储控制器的固件控制且基于表的条件作用

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10802878B2 (en) * 2017-03-31 2020-10-13 Bmc Software, Inc. Phased start and stop of resources in a mainframe environment
TWI714003B (zh) * 2018-10-11 2020-12-21 力晶積成電子製造股份有限公司 可執行人工智慧運算的記憶體晶片及其操作方法
CN116266167A (zh) * 2021-12-17 2023-06-20 华为技术有限公司 一种数据处理系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040133770A1 (en) * 2002-10-11 2004-07-08 Stmicroelectronics S.R.L. Reconfigurable control structure for CPUs and method of operating same
US20100023712A1 (en) * 2008-07-23 2010-01-28 Hitachi, Ltd. Storage subsystem and method of executing commands by controller
CN103366801A (zh) * 2012-03-29 2013-10-23 三星电子株式会社 存储器装置及其操作方法
US20140237162A1 (en) * 2013-02-15 2014-08-21 Lsi Corporation Non-volatile memory channel control using a general purpose programmable processor in combination with a low level programmable sequencer
CN104183267A (zh) * 2013-05-20 2014-12-03 雅马哈株式会社 数据处理设备和存储器设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9753653B2 (en) * 2015-04-14 2017-09-05 Sandisk Technologies Llc High-priority NAND operations management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040133770A1 (en) * 2002-10-11 2004-07-08 Stmicroelectronics S.R.L. Reconfigurable control structure for CPUs and method of operating same
US20100023712A1 (en) * 2008-07-23 2010-01-28 Hitachi, Ltd. Storage subsystem and method of executing commands by controller
CN103366801A (zh) * 2012-03-29 2013-10-23 三星电子株式会社 存储器装置及其操作方法
US20140237162A1 (en) * 2013-02-15 2014-08-21 Lsi Corporation Non-volatile memory channel control using a general purpose programmable processor in combination with a low level programmable sequencer
CN104183267A (zh) * 2013-05-20 2014-12-03 雅马哈株式会社 数据处理设备和存储器设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109324828A (zh) * 2018-09-21 2019-02-12 山东华芯半导体有限公司 一种在验证平台中实现闪存多命令并行执行的方法
CN110109618A (zh) * 2019-04-24 2019-08-09 珠海妙存科技有限公司 一种维护闪存操作时序的方法
CN115878501A (zh) * 2021-07-27 2023-03-31 北京特纳飞电子技术有限公司 用于灵活存储控制器的固件控制且基于表的条件作用

Also Published As

Publication number Publication date
US20170046102A1 (en) 2017-02-16
TW201719429A (zh) 2017-06-01

Similar Documents

Publication Publication Date Title
CN106469026A (zh) 针对nand闪存的灵活接口
CN103778013B (zh) 一种多通道Nand Flash控制器及其控制方法
CN101263465B (zh) 用于总线仲裁的方法和系统
CN102291423B (zh) 控制物理层芯片的方法及控制电路
CN102428451A (zh) 用于数据存储装置的命令及中断分组
CN106055267A (zh) 包括主机命令队列的存储器控制器及操作其的方法
CN103226463A (zh) 用于使用预解码数据调度指令的方法和装置
CN103019810A (zh) 具有不同执行优先级的计算任务的调度和管理
MXPA03009917A (es) Planeacion y programacion de sistemas reconfigurables con capacidades alternativas.
CN101477443B (zh) 与非闪存控制系统和控制方法
CN111190842B (zh) 直接存储器访问、处理器、电子设备和数据搬移方法
CN101135998A (zh) 用于调度总线上的命令的方法和装置
CN102981984A (zh) 使用完成者对存储器区域排序要求的知识来修改事务属性
CN106462431B (zh) 在高级综合中提取系统架构
CN103279379A (zh) 用于在没有指令解码的情况下调度指令的方法和装置
CN101861568B (zh) 用于交换数据的方法和系统
CN102934102A (zh) 多处理器系统、执行控制方法和执行控制程序
CN103914416A (zh) 调节直接存储器存取描述符的执行
CN110460653A (zh) 自动驾驶车辆数据传输的方法及装置
CN106648758A (zh) 一种多核处理器boot启动系统及方法
CN101421705B (zh) 具有高储存容量的多媒体卡
US9652370B2 (en) Address range decomposition
FI74158B (fi) Kopplingsanordning foer givande av styrorder i ett mikrocomputersystem.
CN106293736B (zh) 用于粗粒度多核计算系统的两级编程装置及其计算方法
CN100507842C (zh) 控制界面上控件之间关系的方法、装置及控件显示系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: He Jinjin

Inventor after: Fu Qinghua

Inventor after: Xu Wei

Inventor after: Y-T.Wu

Inventor after: K-M.Jiang

Inventor after: Yu Xueting

Inventor after: Zhao Dongwan

Inventor after: Her R.

Inventor after: Chen Jie

Inventor after: M, kolluri

Inventor before: He Jinjin

Inventor before: Fu Qinghua

Inventor before: Xu Wei

Inventor before: Y-T.Wu

Inventor before: K-M.Jiang

Inventor before: Yu Xueting

Inventor before: Zhao Dongwan

Inventor before: Her R.

Inventor before: Chen Jie

Inventor before: M, kolluri

CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: He Jinjin

Inventor after: Fu Qinghua

Inventor after: Xu Wei

Inventor after: Y-T.Wu

Inventor after: K-M.Jiang

Inventor after: Yu Xueting

Inventor after: Zhao Dongwan

Inventor after: Her R.

Inventor after: Chen Jie

Inventor after: M, kolluri

Inventor before: He Jinjin

Inventor before: Fu Qinghua

Inventor before: Xu Wei

Inventor before: Y-T.Wu

Inventor before: K-M.Jiang

Inventor before: Yu Xueting

Inventor before: Zhao Dongwan

Inventor before: Her R.

Inventor before: Chen Jie

Inventor before: M, kolluri

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200426

Address after: Singapore City

Applicant after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Applicant before: Kaiwei international Co.

Effective date of registration: 20200426

Address after: Ford street, Grand Cayman, Cayman Islands

Applicant after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Applicant before: Marvell International Ltd.

Effective date of registration: 20200426

Address after: Hamilton, Bermuda

Applicant after: Marvell International Ltd.

Address before: Saint Michael

Applicant before: MARVELL WORLD TRADE Ltd.

WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20170301