CN104981873B - 在发送写入数据到存储器的同时从存储器读取数据的系统和方法 - Google Patents
在发送写入数据到存储器的同时从存储器读取数据的系统和方法 Download PDFInfo
- Publication number
- CN104981873B CN104981873B CN201480008486.1A CN201480008486A CN104981873B CN 104981873 B CN104981873 B CN 104981873B CN 201480008486 A CN201480008486 A CN 201480008486A CN 104981873 B CN104981873 B CN 104981873B
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- read
- write
- storage device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1039—Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1042—Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2209—Concurrent read and write
Abstract
一种数据存储装置包括,存储器、控制器以及耦合到存储器和控制器的通信总线。所述控制器被配置为通过所述通信总线发送读取‑写入命令并且将数据写入到所述存储器。所述读取‑写入命令指示将从所述存储器读取的被请求数据的地址。所述控制器还被配置为接收从所述存储器读取的所述被请求数据。所述被请求数据在所述通信总线之上通信与写入数据被存储在所述存储器中重叠。
Description
相关申请的交叉引用
本申请要求于2013年3月12日提交的印度申请No.1019/CHE/2013的优先权,其全部内容通过引用结合于此。
技术领域
本公开一般地涉及从数据存储装置取回数据以及将数据存储在数据存储装置中。
背景技术
非易失性数据存储装置——诸如通用串行总线(USB)闪速存储器装置或者可拆卸存储卡——使得数据和软件应用越来越便携。闪速存储器装置进行写入操作比进行读取操作可能要耗费更长的时间。当正在进行写入操作时,请求用于读取存储在闪速存储器装置中的数据的读取操作时,闪速存储器装置可能在进行读取操作之前完成写入操作,这可能导致读取存储的数据时的延迟。
发明内容
可以通过在将写入数据转移到数据存储装置的存储器的同时从数据存储装置的存储器读取数据来改善读取存储在数据存储装置的存储器中的数据的延迟。可以从数据存储装置的控制器发送读取-写入命令和写入数据。读取-写入命令指示将从存储器读取的被请求数据。当从控制器转移写入数据时从存储器读取被请求数据。在写入数据从控制器的转移完成之后,可以当写入数据被写入到存储器时从控制器发送被请求数据。
附图说明
图1是包括数据存储装置的系统的特定示意性实施例的框图,所述数据存储装置包括被配置为与写入数据被存储到存储器中至少部分同时地接收从存储器读取的被请求数据的控制器;
图2是示出与图1的数据存储装置的读取-写入命令相关联的信号和数据的特定实施例的时序图;以及
图3是与写入数据被存储到存储器中至少部分同时地接收从在数据存储装置中的存储器读取的被请求数据的方法的特定示意性实施例的流程图。
具体实施方式
参考图1,系统100的特定实施例包括耦合到主机装置130的数据存储装置102。数据存储装置102包括通过通信总线140耦合到控制器120的存储器裸芯103。数据存储装置102被配置为将被请求数据从存储器裸芯103发送到控制器120。将被请求数据发送到控制器120与写入数据156被写入到存储器裸芯103上的存储器104重叠。
主机装置130可以被配置为提供诸如用户数据132的数据以被存储在存储器104处,或者请求从存储器104读取的数据。例如,主机装置130可以包括移动电话、音乐播放器、视频播放器、游戏操纵台、电子书阅读器、个人数字助理(PDA)、诸如膝上型计算机或者笔记本计算机的计算机、任何其它电子装置或者其任何组合。主机装置130通过使能从存储器104读取以及写入到存储器104的存储器接口来通信。例如,主机装置130可以依照联合电子装置工程协会(JEDEC)行业规范来操作,所述行业规范诸如通用闪速存储(UFS)主机控制器接口规范。作为其它示例,主机装置130可以依照一个或多个其它规范,诸如作为示意性示例的安全数字(SD)主机控制器规范来操作。主机装置130可以根据任何其它合适的通信协议与存储器104通信。
数据存储装置102可以是存储器卡,所述存储器卡诸如安全数字卡、卡、miniSD.TM卡(特拉华州威明顿市的SD-3C LLC的商标)、MultiMediaCard.TM(MMC.TM)卡(弗吉尼亚州阿灵顿市的JEDEC固态技术协会的商标)或者(CF)卡(加利福尼亚州苗比达市的SanDisk公司的商标)。作为另一示例,数据存储装置102可以被配置为耦合到主机装置130作为嵌入式存储器,所述嵌入式存储器诸如作为示意性示例的(弗吉尼亚州阿灵顿市的JEDEC固态技术协会的商标)以及eSD。为了说明,数据存储装置102可以对应于eMMC(内嵌式的MultiMedia卡)装置。数据存储装置102可以依照JEDEC行业规范操作。例如,数据存储装置102可以依照JEDEC eMMC规范、JEDEC通用闪速存储(UFS)规范、一个或多个其它规范或其组合操作。
存储器裸芯103可以包括存储器104、缓冲器组106以及当从存储器104读取被请求数据时在存储器裸芯103上的缓冲器组106中缓冲写入数据的电路108。存储器104可以是非易失性存储器,诸如NAND闪速存储器,并且可以被配置为存储将从存储器裸芯103(例如,闪速裸芯)读取的被请求数据。存储器104可以包括诸如字线、页或块的多组存储元件。作为示例,存储器104可以包括多级单元(MLC)闪速存储器。
缓冲器组106可以包括第一缓冲器107和第二缓冲器109。缓冲器组106可以被配置为存储被请求数据,诸如当存储器裸芯103从控制器120接收写入数据156时从存储器104读取的读取数据160。例如,第一缓冲器107可以被配置为当通过通信总线140接收写入数据156的至少一部分并且将其存储到第二缓冲器109时,存储从存储器104读取的被请求数据160的至少一部分。
电路108可以被配置为当存储器裸芯103从控制器120接收写入数据156时使得缓冲器组106能够存储从存储器104读取的被请求数据160。例如,电路108可以响应于读取-写入命令150的接收以使得第一缓冲器107能够当通过通信总线140接收写入数据156的至少一部分并且将其存储到第二缓冲器109时,存储从存储器104读取的被请求数据160的至少一部分。
控制器120可以被配置为当数据存储装置102可操作地耦合到主机装置130时,从主机装置130接收数据和指令并且将数据发送到主机装置130。控制器120还可以被配置为将数据和命令发送到存储器104并且从存储器104接收数据。例如,控制器120可以被配置为发送数据和写入命令以指导存储器104将数据存储到指定的地址。作为另一示例,控制器120可以被配置为发送读取命令以从存储器104的指定的地址读取数据。
控制器120包括被配置为产生读取-写入命令150的读取-写入命令逻辑122。读取-写入命令150包括读取地址152和写入地址154。读取地址152可以对应于在存储器104中的读取位置并且写入地址154可以对应于在存储器104中的写入位置。例如,从存储器104读取的数据——诸如被请求数据160——可以从在存储器104中的读取位置读取,并且发送到存储器104的数据——诸如写入数据156——可以被发送到存储器104中的写入位置。
控制器120可以被配置为将读取-写入命令150和写入数据156通过通信总线140发送到存储器裸芯103,以指导存储器104从存储器104的指定的读取地址152读取被请求数据160,并且将写入数据156存储到存储器104的指定的写入地址154。例如,控制器120可以被配置为通过将写入数据156放置到通信总线140上来将写入数据156发送到存储器裸芯103,并且存储器裸芯103可以被配置为通过从通信总线140取回写入数据156并且将写入数据156存储到第二缓冲器109来接收写入数据156。控制器120还可以被配置为当将写入数据156存储到存储器104中时,接收从存储器104读取的被请求数据160。例如,存储器裸芯103可以被配置为将存储在第一缓冲器107中的被请求数据160放到通信总线140上,并且控制器120可以被配置为当写入数据156从第二缓冲器109发送到存储器104时,通过从通信总线140取回被请求数据160来接收被请求数据160。
在操作期间,响应于当写入操作正在进行时从主机装置130接收对被请求数据160的读取请求,控制器120可以开始在存储器104处的数据读取操作。在写入数据156通过通信总线140到存储器裸芯103的数据转移期间,控制器120可以开始数据读取操作。例如,响应于接收到读取请求,控制器120可以通过通信总线140将读取-写入命令150和写入数据156发送到存储器裸芯103。当写入数据156正被转移到存储器裸芯103时,可以从存储器104的读取地址152读取被请求数据160。从存储器104读取的被请求数据160的至少一部分可以被存储到第一缓冲器107,而写入数据156的至少一部分被同时地存储到第二缓冲器109。在一个实现方式中,从存储器104读取的被请求数据160可以保持在第一缓冲器107中,直到写入数据156通过通信总线140向存储器裸芯103的传送完成。当在通信总线140上的写入数据156向存储器裸芯103的数据转移完成时,控制器120可以通过通信总线140从存储器裸芯103接收读取数据160。
作为另一示例,当数据存储装置102正进行顺序写入操作时、诸如当将多组数据存储到存储器104中的顺序地址、并且从主机装置130接收读取请求时,顺序写入操作中的一个或多个写入操作可以用读取-写入操作替代。控制器120可以如上所述地将读取-写入命令150和写入数据156通过通信总线140发送到存储器裸芯103。例如,来自主机装置130的读取请求可以比来自主机装置130的写入请求具有更高的优先权。当在顺序写入操作正在进行时由主机装置130请求用于读取存储在存储器104中的读取数据160的读取操作时,控制器120可以用读取-写入命令150替代顺序写入操作的一个或多个写入操作。因此,主机装置130可以经历减少的读取延迟。
通过与写入数据156被存储到存储器104至少部分同时地接收从存储器104读取的被请求数据160,以及通过当写入数据160正被转移到存储器裸芯103时从存储器104读取被请求数据160,相比没有读取-写入命令150的系统,主机装置130可以经历减少的读取延迟。
参考图2,示出了与图1的读取-写入命令150相关联的信号和数据的特定实施例的时序图200。时序图200示出了关于在图1的通信总线140上的信令(signaling)的数据转移。但是,应理解的是,图2中所示的读取-写入命令150和通信总线信令可以被实现在除了图1的数据存储装置102以外的装置或系统中。
通信总线140可以包括逻辑地分组为(group into)输入/输出(I/O)部分210和控制信令211的多个线。通过I/O部分210转移的数据被示出为I/O迹线(trace)202。控制信令211包括就绪/繁忙(ready/busy)信号230、写入使能信号240和读取使能信号250。
就绪/繁忙信号230可以由图1的存储器裸芯103赋值(assert),以指示存储器裸芯103何时忙于擦除、编程或读取操作的时间。例如,当存储器裸芯103忙于擦除、编程或读取操作时,可以赋值就绪/繁忙信号230为低(例如,“繁忙”),并且否则可以赋值为高(例如,“就绪”)。
写入使能信号240可以负责将数据、地址或者命令信息到存储器裸芯103中进行定时(clocking)。为了说明,在写入操作中,将要编程的数据、诸如写入数据156可以在写入使能信号240的上升沿上从通信总线140的I/O线到缓冲器106中被“定时(clocked)”(例如,作为顺序数据字而同步地转移)。
读取使能信号250可以使能输出数据缓冲器,诸如缓冲器106中的一个或多个。例如,已经从存储器104读取的且被存储在缓冲器106中的数据可以在读取使能信号250的上升沿上从缓冲器106到通信总线140的I/O线上被定时。
I/O迹线202示出了去往和来自存储器裸芯103的数据转移。I/O迹线202包括多个数据转移单元。例如,多个数据转移单元可以是数据包。每个数据包可以包括在总线周期期间在通信总线140的输入/输出部分210的多个线之上并行发送的多个位(bit)。数据包可以包括命令标识符包204和命令终止包212。命令标识符包204可以包括一组位以标识读取-写入命令150。命令终止包212可以指示写入数据转移完成。
参考在通信总线140的线上的各种信号示出了读取-写入命令150并且所述读取-写入命令150包括标头(header)(例如,命令标识符包204)、读取地址152和写入地址154。读取-写入命令150以及相关联的数据被示出为在多个总线周期期间转移,所述多个总线周期被示出为总线周期A、总线周期B、总线周期C...总线周期K。
在总线周期A期间,指示读取-写入命令150的命令指示符204可以通过通信总线在控制器和存储器裸芯之间转移。为了说明,控制器120可以将命令指示符204写入到通信总线140的I/O部分210上,并且可以驱动写入使能信号240的上升沿。存储器裸芯103可以通过从通信总线140读取命令指示符204,诸如通过在写入使能信号240的上升沿上对数据从I/O线202到缓冲器106中进行定时,来接收命令指示符204。
在总线周期B和总线周期C期间,一个或多个读取地址和写入地址可以通过通信总线在控制器和存储器裸芯之间转移。例如,控制器120可以分别在总线周期B和总线周期C期间,将读取地址152和写入地址154放在通信总线140上。存储器裸芯103可以通过从图1的通信总线140读取该读取地址152和写入地址154,诸如通过在总线周期B和总线周期C期间在写入使能信号240的上升沿上对读取地址152和写入地址154到缓冲器106进行定时,来接收读取地址152和写入地址154,。
写入数据156被示出为在总线周期D-G期间转移。例如,控制器120可以在顺序总线周期期间,将写入数据156的顺序部分写入到I/O部分210上,并且可以升高写入使能信号240以向存储器裸芯103发出信号以从I/O线202读取每个部分。存储器裸芯103可以通过从通信总线140读取写入数据156,诸如通过在写入使能信号240的上升沿上对写入数据156的顺序部分到缓冲器106中进行定时,来接收写入数据156。
与在总线周期D-G期间、控制器120发送写入数据156以及存储器裸芯103接收写入数据156同时地,存储器裸芯103可以进行读取操作232以从对应于读取地址152的存储器104中的位置读取数据。从存储器104读取的数据可以被存储在缓冲器106中,以用于在写入数据156已经被转移之后通过通信总线140而稍后转移到控制器120。当读取操作232正进行时,就绪/繁忙信号230可以由存储器裸芯103赋值,指示读取操作232正在存储器裸芯103中进行。可以保持就绪/繁忙信号230被赋值直到读取操作232完成。但是,在其它实现方式中,当正进行读取操作232时,可能不赋值就绪/繁忙信号230。
在总线周期H期间,写入数据转移完成的指示可以通过通信总线在控制器和存储器裸芯之间转移。例如,控制器120可以在总线周期H期间将命令终止包212放在通信总线140上。存储器裸芯103可以通过从通信总线140读取命令终止包212来接收命令终止包212。可以在写入使能信号240的上升沿上对命令终止包212到缓冲器106中进行定时。
在总线周期I-K期间(例如,在命令终止包212被转移之后、指示写入数据156转移完成),可以进行写入操作234。例如,可以将写入数据156从缓冲器106转移到存储器104。在写入操作234期间,就绪/繁忙信号230可以由存储器裸芯103赋值(指示存储器裸芯103繁忙),写入使能信号240可以不由控制器120切换(toggle),并且读取使能信号250可以由控制器120赋值并且被切换以对读取数据160从缓冲器106到通信总线140上进行定时。在写入操作234期间的读取使能信号250的赋值可以使得被请求数据160能够在总线周期I-K期间通过总线140从存储器裸芯103转移到图1的控制器120,并且使得写入数据156能够在总线周期I-K期间从缓冲器106转移到存储器104。例如,存储器裸芯103可以将存储在缓冲器106中的被请求数据160放到通信总线140上。控制器120可以通过在总线周期I-K期间从通信总线140读取被请求数据160来接收被请求数据160。
读取-写入命令150使得多个操作能够重叠。如这里所用的,“重叠”可以意味着完全重叠或者部分重叠。完全重叠的示例是在I/O线202之上转移写入数据156并且进行读取操作232,两个操作都在总线周期D处开始并且在总线周期G处结束。部分重叠的示例是当读取操作232正进行时、在总线周期E期间转移指定为“数据1”的写入数据156的该部分。尽管“数据1”部分的转移在与读取操作232的开始和结束的不同的时间处开始和结束,但是两个操作都在总线周期E期间进行,并且因此操作部分地重叠。多于两个操作可以重叠。例如,在总线周期F期间,控制器120将写入数据156的一部分写入到I/O线202上,读取操作232(至少部分地)在存储器104处进行,存储器裸芯103从I/O线202读取写入数据156的一部分(“数据2”)并且将其读入到缓冲器106,并且存储器裸芯103可以将读取数据160的一部分从存储器104转移到缓冲器106。作为另一示例,在总线周期J期间,存储器裸芯103将读取数据160的一部分从缓冲器106写入到I/O线202上,控制器120从I/O线202读取该读取数据160的一部分,并且写入操作234(至少部分地)在存储器104处进行。通过当写入数据156正被转移到存储器裸芯103时进行读取操作232、以及通过当读取数据160正被转移到控制器120时进行写入操作234,相比于没有读取-写入命令150的系统,主机装置130可以经历减少的读取延迟。
尽管读取操作232被示出为与写入数据156的转移具有相同的持续时间,但是在其它实现方式中,与转移写入数据156的时间量相比,读取操作232可以在更短或者更长的时间量中完成。如果读取操作232超过写入数据156的转移时间,可以经过其中没有数据通过I/O线转移的一个或多个总线周期,直到读取数据160准备好开始转移到控制器120。可替换地,或者此外,读取数据160通过I/O线202的转移可以在读取操作232正进行时开始。例如,图1的第二缓冲器109可以用作使得当正从存储器104接收其它读取数据时缓冲的读取数据能够被写入到通信总线140上的先进先出(FIFO)缓冲器。
尽管在图2中将读取-写入命令150示出为包括命令标识符包204、读取地址152和写入地址154,应理解的是,在其它实施例中,读取-写入命令150的指令集定义可以将写入命令150定义为包括或者排除组件204、152、154、156和212中的一个或多个。例如,可以不通过I/O线202传送命令标识符包204,而相反可以通过一个或多个其它线、诸如通过专用的命令线来发送读取-写入命令150的指示符。作为另一示例,读取-写入命令150可以被定义为包括命令标识符包204,或者包括命令标识符包204和命令终止包212,并且可以不包括在指令集定义中的读取地址152、写入地址154和写入数据156的一个或多个。
尽管读取地址152和写入地址154的每一个被示出为占据单个总线周期,但是在其它实施例中,读取地址152、写入地址154或者两者可以占据多个总线周期或者可以被组合在单个总线周期中。例如,可以在四个总线周期中使用8-位总线、在单个总线周期中使用32-位总线或者、或者可以在单个总线周期中使用64-位总线与另外的32-位地址组合来传送32-位地址。尽管命令终止包212被示出为通过I/O线202转移,但是在其它实施例中,可以替代地通过一个或多个其它线转移命令终止信号或者可以不提供命令终止信号。例如,在使用定义的写入数据块大小的实现方式中,可以省略终止包212,并且当对应于定义的写入数据块大小的一定量的写入数据已经在通信总线140之上传送时(或者经过总线周期的相应的计数),可以确定写入数据156的转移已经结束。
参考图3,示出了与写入数据被存储到存储器中至少部分同时地接收从在数据存储装置中的存储器读取的被请求数据的方法300的示意性实施例的流程图。方法300可以通过图1的数据存储装置102进行。
在302处,可以通过在数据存储装置中的通信总线从在数据存储装置中的控制器发送读取-写入命令和写入数据到在数据存储装置中的存储器。读取-写入命令可以指示被请求数据将从存储器读取。例如,响应于当写入操作正进行时从主机装置130接收对于被请求数据160的读取请求,控制器120可以通过通信总线140将读取-写入命令150和写入数据156发送到存储器裸芯103。
在304处,可以在控制器处接收从存储器读取的所述被请求数据,其中被请求数据在所述通信总线之上通信与写入数据被存储在存储器中重叠。例如,可以与写入数据156从缓冲器106被发送到非易失性存储器104至少部分同时地由控制器120从存储器裸芯103通过通信总线140接收被请求数据160。从存储器104读取的被请求数据160的至少一部分可以被存储到第一缓冲器107,同时写入数据156的至少一部分被存储到第二缓冲器109。从存储器104读取的被请求数据160可以保持在第一缓冲器107中,直到将写入数据156通过通信总线140向存储器裸芯103的传送完成。当完成在通信总线140上的写入数据156的数据转移时,控制器120可以从第一缓冲器107接收被请求数据160。接收被请求数据160与写入数据156从第二缓冲器109被发送到存储器104重叠。
通过在写入数据156正被写入到存储器104中时在控制器120处接收从存储器104读取的被请求数据160,相比于没有读取-写入命令150的系统,主机装置130可以经历减少的读取延迟。
尽管这里所描述的各种组件被示出为块组件并且以一般的术语描述,但是这样的组件可以包括一个或多个微处理器、状态机或被配置为使能数据存储装置的其它电路——诸如图1的数据存储装置102——以进行被认为是这样的组件的作用的特定功能。例如,图1的读取-写入命令逻辑122、电路108或其组合可以表示物理组件,诸如控制器、处理器、状态机、逻辑电路或者其它结构,以接收从在图1的数据存储装置102中的存储器裸芯读取的被请求数据,其中接收被请求数据与写入数据被发送到图1的存储器裸芯103重叠。
在特定实施例中,数据存储装置102可以被实现在被配置为选择性地耦合到一个或多个外部装置的便携装置中。但是,在其它实施例中,数据存储装置102可以被内嵌于一个或多个主机装置中,诸如在主机通信装置的机壳中。例如,数据存储装置102可以在封装的设备中,所述封装的装置诸如无线电话、个人数字助理(PDA)、游戏装置或者操纵台、便携导航装置或者使用内部非易失性存储器的其它装置。在特定实施例中,数据存储装置102可以被耦合到非易失性存储器,所述非易失性存储器诸如三维(3D)存储器、闪速存储器(例如,NAND、NOR、多级单元(MLC)、分裂位线NOR(DINOR)存储器、AND存储器、高电容耦合系数(HiCR)、不对称非接触式晶体管(ACT),或者其它闪速存储器)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)、一次可编程存储器(OTP)或者任何其它类型的存储器。
对这里所述的实施例的说明意欲提供对各种实施例的一般理解。可以使用或者从本公开中得出其它实施例,使得可以作出结构的和逻辑的替换以及改变而不脱离本公开的范围。本公开意欲覆盖任何以及所有各种实施例的后续改编和变换。上述公开的主题应被理解为示意性的,而不是限定性的,并且所附权利要求意欲覆盖所有这样的修改、改进以及落入本公开的范围的其它实施例。因此,到法律所允许的最大程度,本发明的范围将由下述权利要求及其等价物的最宽的允许的解释确定,并且不应被前述具体的描述限定或者限制。
Claims (22)
1.一种用于数据存储装置的方法,所述数据存储装置包含存储器、控制器以及耦合到所述存储器和所述控制器的通信总线,所述方法包括:
通过所述通信总线发送读取-写入命令并且将数据从所述控制器写入到所述存储器,其中,所述读取-写入命令:
包括标识读取-写入命令的命令标识符数据转移单元;并且
指示将从所述存储器读取的被请求数据;以及
在所述控制器处接收从所述存储器读取的所述被请求数据,其中,在所述通信总线之上通信所述被请求数据与写入数据被存储在所述存储器中重叠。
2.如权利要求1所述的方法,其中,读取来自所述存储器的所述被请求数据与由所述存储器通过所述通信总线接收所述写入数据重叠。
3.如权利要求2所述的方法,其中,存储器裸芯包含所述存储器和缓冲器组,并且其中,从所述存储器读取的所述被请求数据的至少一部分被存储到所述缓冲器组的第一缓冲器,而所述写入数据的至少一部分被存储到所述缓冲器组的第二缓冲器。
4.如权利要求1所述的方法,其中,在所述写入数据通过所述通信总线的数据转移期间,在所述存储器处开始数据读取操作。
5.如权利要求1所述的方法,其中,所述读取-写入命令包含对应于在所述存储器中的读取位置的第一地址以及对应于在所述存储器中的写入位置的第二地址。
6.如权利要求5所述的方法,其中:
存储器裸芯包括所述存储器,
在至少一个总线周期期间从所述读取位置读取所述被请求数据,并且
在至少一个总线周期期间在存储器处接收要写入到所述写入位置的所述写入数据。
7.如权利要求1所述的方法,其中:
所述读取-写入命令指示所述写入数据要被写入所述存储器且包括与所述读取-写入命令的标头关联的命令标识符包,并且
所述存储器包含闪速存储器。
8.如权利要求1所述的方法,其中,所述存储器包含三维(3D)存储器。
9.一种数据存储装置,包括:
存储器;
控制器,其耦合到所述存储器;以及
通信总线,其耦合到所述存储器以及所述控制器,其中,所述控制器被配置为:
通过所述通信总线发送读取-写入命令并且将数据写入到所述存储器,其中,所述读取-写入命令:
包括标识读取-写入命令的命令标识符数据转移单元;并且
指示将从所述存储器读取的被请求数据的地址;并且
接收从所述存储器读取的所述被请求数据,其中,在所述通信总线之上通信所述被请求数据与写入数据被存储在所述存储器中重叠。
10.如权利要求9所述的数据存储装置,其中,所述控制器包含配置为产生所述读取-写入命令的读取-写入命令逻辑。
11.如权利要求9所述的数据存储装置,还包含存储器裸芯,所述存储器裸芯包含所述存储器以及当读取所述被请求数据时在所述存储器裸芯上缓冲所述写入数据的电路。
12.如权利要求9所述的数据存储装置,其中,响应于在写入操作期间从主机装置接收读取请求发送所述读取-写入命令。
13.如权利要求9所述的数据存储装置,其中:
所述读取-写入命令被配置为指示所述写入数据要被写入存储器中且包括被配置为标识所述读取-写入命令的一个或多个位,并且
所述存储器包含被配置为存储将从所述存储器读取的所述被请求数据的非易失性存储器。
14.如权利要求9所述的数据存储装置,还包括包含所述存储器的存储器裸芯,其中,所述存储器裸芯被配置为当通过所述通信总线接收所述写入数据时从所述存储器读取所述被请求数据。
15.如权利要求9所述的数据存储装置,还包含被配置为存储以下的缓冲器组:
从所述存储器读取的所述被请求数据、以及发送到所述存储器的写入数据。
16.如权利要求9所述的数据存储装置,其中,所述控制器还被配置为将从所述存储器读取的所述被请求数据的至少一部分存储到第一缓冲器,而将所述写入数据的至少一部分存储到第二缓冲器。
17.如权利要求9所述的数据存储装置,还包括缓冲器组,被配置为存储所述被请求数据,直到写入数据通过所述通信总线的传送完成。
18.如权利要求9所述的数据存储装置,还包括包含所述存储器的存储器裸芯,其中所述存储器裸芯被配置为响应于确定所述写入数据的传送完成来赋值读取转移信号,所述读取转移信号被配置为防止所述控制器发送下一顺序写入命令,直到所述被请求数据已经转移到所述控制器。
19.如权利要求9所述的数据存储装置,其中,所述读取-写入命令包含对应于在所述存储器中的读取位置的第一地址以及对应于在所述存储器中的写入位置的第二地址。
20.如权利要求19所述的数据存储装置,还包括包含所述存储器的存储器裸芯,其中,所述存储器裸芯被配置为在至少一个总线周期期间读取来自读取位置的所述被请求数据、并且在所述至少一个总线周期期间接收要写入到所述写入位置的所述写入数据。
21.如权利要求9所述的数据存储装置,其中,所述控制器还被配置为在所述写入数据通过所述通信总线的数据转移期间,在存储器处开始数据读取操作。
22.如权利要求9所述的数据存储装置,其中,所述存储器包含三维(3D)存储器。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN1019CH2013 | 2013-03-12 | ||
IN1019/CHE/2013 | 2013-03-12 | ||
US13/875,477 US9741442B2 (en) | 2013-03-12 | 2013-05-02 | System and method of reading data from memory concurrently with sending write data to the memory |
US13/875,477 | 2013-05-02 | ||
PCT/US2014/021362 WO2014164227A1 (en) | 2013-03-12 | 2014-03-06 | System and method of reading data from memory concurrently with sending write data to the memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104981873A CN104981873A (zh) | 2015-10-14 |
CN104981873B true CN104981873B (zh) | 2018-01-02 |
Family
ID=54277093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480008486.1A Expired - Fee Related CN104981873B (zh) | 2013-03-12 | 2014-03-06 | 在发送写入数据到存储器的同时从存储器读取数据的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9741442B2 (zh) |
EP (1) | EP2973572B1 (zh) |
KR (1) | KR20150128668A (zh) |
CN (1) | CN104981873B (zh) |
TW (2) | TWI616884B (zh) |
WO (1) | WO2014164227A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10838646B2 (en) | 2011-07-28 | 2020-11-17 | Netlist, Inc. | Method and apparatus for presearching stored data |
US10380022B2 (en) | 2011-07-28 | 2019-08-13 | Netlist, Inc. | Hybrid memory module and system and method of operating the same |
US10198350B2 (en) * | 2011-07-28 | 2019-02-05 | Netlist, Inc. | Memory module having volatile and non-volatile memory subsystems and method of operation |
US9218282B2 (en) * | 2013-10-31 | 2015-12-22 | Micron Technology, Inc. | Memory system data management |
CN105934747B (zh) | 2013-11-07 | 2020-03-06 | 奈特力斯股份有限公司 | 混合内存模块以及操作混合内存模块的系统和方法 |
US11182284B2 (en) | 2013-11-07 | 2021-11-23 | Netlist, Inc. | Memory module having volatile and non-volatile memory subsystems and method of operation |
US10248328B2 (en) | 2013-11-07 | 2019-04-02 | Netlist, Inc. | Direct data move between DRAM and storage on a memory module |
KR20170094674A (ko) * | 2016-02-11 | 2017-08-21 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
US10152237B2 (en) | 2016-05-05 | 2018-12-11 | Micron Technology, Inc. | Non-deterministic memory protocol |
US10534540B2 (en) | 2016-06-06 | 2020-01-14 | Micron Technology, Inc. | Memory protocol |
US10585624B2 (en) | 2016-12-01 | 2020-03-10 | Micron Technology, Inc. | Memory protocol |
US11003602B2 (en) | 2017-01-24 | 2021-05-11 | Micron Technology, Inc. | Memory protocol with command priority |
US10635613B2 (en) | 2017-04-11 | 2020-04-28 | Micron Technology, Inc. | Transaction identification |
US11099779B2 (en) * | 2018-09-24 | 2021-08-24 | Micron Technology, Inc. | Addressing in memory with a read identification (RID) number |
US11513725B2 (en) * | 2019-09-16 | 2022-11-29 | Netlist, Inc. | Hybrid memory module having a volatile memory subsystem and a module controller sourcing read strobes to accompany read data from the volatile memory subsystem |
US11435942B2 (en) * | 2020-07-10 | 2022-09-06 | Korea Electronics Technology Institute | Method and apparatus for processing read-write-operation instruction in processing-in-memory |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930794A (zh) * | 2000-07-28 | 2010-12-29 | 微米技术有限公司 | 具有状态脉冲串输出的同步快闪存储器 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06332664A (ja) | 1993-03-23 | 1994-12-02 | Toshiba Corp | 表示制御システム |
US6345000B1 (en) | 1997-04-16 | 2002-02-05 | Sandisk Corporation | Flash memory permitting simultaneous read/write and erase operations in a single memory array |
US6025695A (en) * | 1997-07-09 | 2000-02-15 | Friel; Daniel D. | Battery operating system |
WO1999019805A1 (en) | 1997-10-10 | 1999-04-22 | Rambus Incorporated | Method and apparatus for two step memory write operations |
US6654836B1 (en) * | 2000-06-20 | 2003-11-25 | International Business Machines Corporation | Dual master device for improved utilization of a processor local bus |
RU2319227C2 (ru) * | 2002-12-24 | 2008-03-10 | Эл Джи Электроникс Инк. | Способ запоминания с двойным протоколированием и носитель данных для него |
KR100483490B1 (ko) | 2002-12-24 | 2005-04-15 | 한국전자통신연구원 | 저장 매체에 데이터를 저장하기 위한 이중 저널링저장방법 |
US20040128464A1 (en) * | 2002-12-30 | 2004-07-01 | Lee Micheil J. | Memory reclamation |
US7355907B2 (en) | 2005-10-28 | 2008-04-08 | Sony Corporation | Performing read and write operations in the same cycle for an SRAM device |
US20080183984A1 (en) * | 2007-01-31 | 2008-07-31 | Dale Beucler | Memory system with read-modify-write |
KR100856828B1 (ko) | 2007-04-23 | 2008-09-05 | 경희대학교 산학협력단 | 리드 액세스와 라이트 액세스를 동시에 수행하는 메모리장치 |
KR101360812B1 (ko) | 2008-06-05 | 2014-02-11 | 삼성전자주식회사 | 반도체 장치 및 이를 포함하는 반도체 시스템 |
US8429374B2 (en) | 2010-01-28 | 2013-04-23 | Sony Corporation | System and method for read-while-write with NAND memory device |
US20110298300A1 (en) * | 2010-06-04 | 2011-12-08 | Consolidated Edison Company Of New York, Inc. | Power Outlet for Air Conditioning Appliance and Method of Operation |
-
2013
- 2013-05-02 US US13/875,477 patent/US9741442B2/en active Active
-
2014
- 2014-03-06 CN CN201480008486.1A patent/CN104981873B/zh not_active Expired - Fee Related
- 2014-03-06 WO PCT/US2014/021362 patent/WO2014164227A1/en active Application Filing
- 2014-03-06 EP EP14712517.3A patent/EP2973572B1/en not_active Not-in-force
- 2014-03-06 KR KR1020157021848A patent/KR20150128668A/ko active IP Right Grant
- 2014-03-10 TW TW103108234A patent/TWI616884B/zh not_active IP Right Cessation
- 2014-03-10 TW TW107101723A patent/TW201828303A/zh unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930794A (zh) * | 2000-07-28 | 2010-12-29 | 微米技术有限公司 | 具有状态脉冲串输出的同步快闪存储器 |
Also Published As
Publication number | Publication date |
---|---|
EP2973572A1 (en) | 2016-01-20 |
US20140269088A1 (en) | 2014-09-18 |
CN104981873A (zh) | 2015-10-14 |
WO2014164227A1 (en) | 2014-10-09 |
TW201447897A (zh) | 2014-12-16 |
KR20150128668A (ko) | 2015-11-18 |
US9741442B2 (en) | 2017-08-22 |
TWI616884B (zh) | 2018-03-01 |
TW201828303A (zh) | 2018-08-01 |
EP2973572B1 (en) | 2018-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104981873B (zh) | 在发送写入数据到存储器的同时从存储器读取数据的系统和方法 | |
CN102723099B (zh) | 包括用于处理多命令描述符块以便利用并发性的主机接口的闪存装置 | |
US9389804B2 (en) | Host, system, and methods for transmitting commands to non-volatile memory card | |
US8521945B2 (en) | Portable data storage using SLC and MLC flash memory | |
CN109947362B (zh) | 管理闪存存储器读取操作 | |
CN104951402B (zh) | 存储装置及其操作方法和计算系统 | |
US20140244904A1 (en) | Memory device and computer system | |
US20150098271A1 (en) | System and method of storing data in a data storage device | |
US20110022781A1 (en) | Controller for optimizing throughput of read operations | |
US20080151622A1 (en) | Command-based control of NAND flash memory | |
JP2003085034A (ja) | 不揮発性記憶装置およびデータ格納方法 | |
CN105528299B (zh) | 读取命令排程方法以及使用该方法的装置 | |
CN107480081A (zh) | 具有可中断指令序列的存储器及其操作方法 | |
CN109690509A (zh) | 存储器装置配置命令 | |
CN112256203B (zh) | Flash存储器的写入方法、装置、设备、介质及系统 | |
CN110874190A (zh) | 闪存控制器及方法 | |
KR100761374B1 (ko) | 플래시 메모리 제어 방법 및 장치 | |
US20180129621A1 (en) | Apparatus and method for accessing data in memory | |
US20140181324A1 (en) | Data transmitting method, memory controller and data transmitting system | |
US9141563B2 (en) | Memory system | |
CN103226529B (zh) | 基于Nandflash的双端口存储器电路 | |
CN104298468B (zh) | 指令执行方法、连接器与存储器储存装置 | |
CN103914408B (zh) | 数据传输方法、存储器控制器、数据传输系统 | |
CN109902031A (zh) | 存储系统及其操作方法 | |
CN109997121A (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 | ||
CB02 | Change of applicant information |
Address after: texas Applicant after: DELPHI INT OPERATIONS LUX SRL Address before: texas Applicant before: Sandisk Corp. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180102 Termination date: 20200306 |