在发送写入数据到存储器的同时从存储器读取数据的系统和方法_3

文档序号:9264780阅读:来源:国知局
操作232正进行时,就绪/繁忙信号230可W由存储器裸巧103赋值,指示读取操作232正 在存储器裸巧103中进行。可W保持就绪/繁忙信号230被赋值直到读取操作232完成。 但是,在其它实现方式中,当正进行读取操作232时,可能不赋值就绪/繁忙信号230。
[0032] 在总线周期H期间,写入数据转移完成的指示可W通过通信总线在控制器和存储 器裸巧之间转移。例如,控制器120可W在总线周期H期间将命令终止包212放在通信总 线140上。存储器裸巧103可W通过从通信总线140读取命令终止包212来接收命令终止 包212。可W在写入使能信号240的上升沿上对命令终止包212到缓冲器106中进行定时。
[0033] 在总线周期I-K期间(例如,在命令终止包212被转移之后、指示写入数据156转 移完成),可W进行写入操作234。例如,可W将写入数据156从缓冲器106转移到存储器 104。在写入操作234期间,就绪/繁忙信号230可W由存储器裸巧103赋值(指示存储器 裸巧103繁忙),写入使能信号240可W不由控制器120切换(toggle),并且读取使能信号 250可W由控制器120赋值并且被切换W对读取数据160从缓冲器106到通信总线140上 进行定时。在写入操作234期间的读取使能信号250的赋值可W使得被请求数据160能够 在总线周期I-K期间通过总线140从存储器裸巧103转移到图1的控制器120,并且使得写 入数据156能够在总线周期I-K期间从缓冲器106转移到存储器104。例如,存储器裸巧 103可W将存储在缓冲器106中的被请求数据160放到通信总线140上。控制器120可W 通过在总线周期I-K期间从通信总线140读取被请求数据160来接收被请求数据160。
[0034] 读取-写入命令150使得多个操作能够重叠。如该里所用的,"重叠"可W意味着 完全重叠或者部分重叠。完全重叠的示例是在I/O线202之上转移写入数据156并且进行 读取操作232,两个操作都在总线周期D处开始并且在总线周期G处结束。部分重叠的示 例是当读取操作232正进行时、在总线周期E期间转移指定为"数据1"的写入数据156的 该部分。尽管"数据1"部分的转移在与读取操作232的开始和结束的不同的时间处开始和 结束,但是两个操作都在总线周期E期间进行,并且因此操作部分地重叠。多于两个操作可 W重叠。例如,在总线周期F期间,控制器120将写入数据156的一部分写入到I/O线202 上,读取操作232 (至少部分地)在存储器104处进行,存储器裸巧103从I/O线202读取 写入数据156的一部分("数据2")并且将其读入到缓冲器106,并且存储器裸巧103可 W将读取数据160的一部分从存储器104转移到缓冲器106。作为另一示例,在总线周期J 期间,存储器裸巧103将读取数据160的一部分从缓冲器106写入到I/O线202上,控制器 120从I/O线202读取该读取数据160的一部分,并且写入操作234 (至少部分地)在存储 器104处进行。通过当写入数据156正被转移到存储器裸巧103时进行读取操作232、W及 通过当读取数据160正被转移到控制器120时进行写入操作234,相比于没有读取-写入命 令150的系统,主机装置130可W经历减少的读取延迟。
[0035] 尽管读取操作232被示出为与写入数据156的转移具有相同的持续时间,但是在 其它实现方式中,与转移写入数据156的时间量相比,读取操作232可W在更短或者更长的 时间量中完成。如果读取操作232超过写入数据156的转移时间,可W经过其中没有数据 通过I/O线转移的一个或多个总线周期,直到读取数据160准备好开始转移到控制器120。 可替换地,或者此外,读取数据160通过I/O线202的转移可W在读取操作232正进行时开 始。例如,图1的第二缓冲器109可W用作使得当正从存储器104接收其它读取数据时缓 冲的读取数据能够被写入到通信总线140上的先进先出(FIFO)缓冲器。
[0036] 尽管在图2中将读取-写入命令150示出为包括命令标识符包204、读取地址152 和写入地址154,应理解的是,在其它实施例中,读取-写入命令150的指令集定义可W将写 入命令150定义为包括或者排除组件204、152、154、156和212中的一个或多个。例如,可 W不通过I/O线202传送命令标识符包204,而相反可W通过一个或多个其它线、诸如通过 专用的命令线来发送读取-写入命令150的指示符。作为另一示例,读取-写入命令150 可W被定义为包括命令标识符包204,或者包括命令标识符包204和命令终止包212,并且 可W不包括在指令集定义中的读取地址152、写入地址154和写入数据156的一个或多个。
[0037] 尽管读取地址152和写入地址154的每一个被示出为占据单个总线周期,但是在 其它实施例中,读取地址152、写入地址154或者两者可W占据多个总线周期或者可W被组 合在单个总线周期中。例如,可W在四个总线周期中使用8-位总线、在单个总线周期中使 用32-位总线或者、或者可W在单个总线周期中使用64-位总线与另外的32-位地址组合 来传送32-位地址。尽管命令终止包212被示出为通过I/O线202转移,但是在其它实施例 中,可W替代地通过一个或多个其它线转移命令终止信号或者可W不提供命令终止信号。 例如,在使用定义的写入数据块大小的实现方式中,可W省略终止包212,并且当对应于定 义的写入数据块大小的一定量的写入数据已经在通信总线140之上传送时(或者经过总线 周期的相应的计数),可W确定写入数据156的转移已经结束。
[003引参考图3,示出了与写入数据被存储到存储器中至少部分同时地接收从在数据存 储装置中的存储器读取的被请求数据的方法300的示意性实施例的流程图。方法300可W 通过图1的数据存储装置102进行。
[0039] 在302处,可W通过在数据存储装置中的通信总线从在数据存储装置中的控制器 发送读取-写入命令和写入数据到在数据存储装置中的存储器。读取-写入命令可W指示 被请求数据将从存储器读取。例如,响应于当写入操作正进行时从主机装置130接收对于 被请求数据160的读取请求,控制器120可W通过通信总线140将读取-写入命令150和 写入数据156发送到存储器裸巧103。
[0040] 在304处,可W在控制器处接收从存储器读取的所述被请求数据,其中被请求数 据在所述通信总线之上通信与写入数据被存储在存储器中重叠。例如,可W与写入数据156 从缓冲器106被发送到非易失性存储器104至少部分同时地由控制器120从存储器裸巧 103通过通信总线140接收被请求数据160。从存储器104读取的被请求数据160的至少 一部分可W被存储到第一缓冲器107,同时写入数据156的至少一部分被存储到第二缓冲 器109。从存储器104读取的被请求数据160可W保持在第一缓冲器107中,直到将写入数 据156通过通信总线140向存储器裸巧103的传送完成。当完成在通信总线140上的写入 数据156的数据转移时,控制器120可W从第一缓冲器107接收被请求数据160。接收被请 求数据160与写入数据156从第二缓冲器109被发送到存储器104重叠。
[0041]通过在写入数据156正被写入到存储器104中时在控制器120处接收从存储器 104读取的被请
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1