避免在单端口存储器设备中的写入冲突的方法和芯片的制作方法

文档序号:8362682阅读:324来源:国知局
避免在单端口存储器设备中的写入冲突的方法和芯片的制作方法
【技术领域】
[0001]本发明一般地涉及单端口存储器设备并且更具体地涉及一种在单端口存储器设备中的写入和读取冲突避免系统。
【背景技术】
[0002]单端口存储器设备仅可以允许一次一个写入或者读取操作。单端口存储器设备的示例可以包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。SRAM是易失性存储器,其中在关断向SRAM的功率供应时擦除存储的任何数据。SRAM单元经常由六个晶体管组成。四个晶体管组成存储逻辑一或者逻辑零的交叉耦合锁存器。其它两个晶体管用于在读取和写入操作期间访问SRAM单元。用于SRAM的访问速度与某些其它存储器比较而言快速,并因此经常用作高速缓存存储器和用于缓冲器。单端口存储器设备、诸如SRAM经常用作两个异步电路之间的缓冲器。

【发明内容】

[0003]在本公开的各种实施例中,描述了一种避免来自两个或者更多独立写入操作在单端口存储器设备中的写入冲突的方法。模块从第一数据发送器接收具有第一偶数据对象和第一奇数据对象的第一写入操作。该模块在与第一写入操作基本上相同的时间从第二数据发送器接收具有第二偶数据对象和第二奇数据对象的第二写入操作。延迟第二写入操作,使得第一偶数据对象在与第二偶数据对象向第一单端口存储器设备进行写入不同的时间向第一单端口存储器设备进行写入。延迟第二写入操作,使得第一奇数据对象在与第二奇数据对象不同的时间向第二单端口存储器设备进行写入。向相应的第一单端口存储器设备和第二单端口存储器设备写入第一偶数据对象和第一奇数据对象。向相应的第一单端口存储器设备和第二单端口存储器设备写入第二偶数据对象和第二奇数据对象。
[0004]在其它各种实施例中,描述了一种半导体芯片。该半导体芯片包括模块。该模块包括被配置为存储第一偶数据对象和第二偶数据对象的第一单端口存储器设备。该模块还包括被配置为存储第一奇数据对象和第二奇数据对象的第二单端口存储器设备。该模块被配置为从第一数据发送器接收具有第一偶数据对象和第一奇数据对象的第一写入操作。该模块还被配置为在与第一写入操作基本上相同的时间从第二数据发送器接收具有第二偶数据对象和第二奇数据对象的第二写入操作。该模块可以延迟第二写入操作,使得第一偶数据对象在与第二偶数据对象向第一单端口存储器设备进行写入不同的时间向第一单端口存储器设备进行写入。该模块还可以延迟第二写入操作,使得第一奇数据对象在与第二奇数据对象不同的时间向第二单端口存储器设备进行写入。该模块可以向相应的第一单端口存储器设备和第二单端口存储器设备写入第一偶数据对象和第一奇数据对象并且向相应的第一单端口存储器设备和第二单端口存储器设备写入第二偶数据对象和第二奇数据对象。
[0005]在更多其它各种实施例中,描述了一种避免来自两个或者更多独立读取操作请求的从单端口存储器设备的读取冲突的方法。从第一读取请求器接收对于第一偶数据对象和第一奇数据对象的第一读取请求。在与接收第一读取请求基本上相同的时间从第二读取请求器接收对于第二偶数据对象和第二奇数据对象的第二读取请求。从第一单端口存储器设备读取第一偶数据对象。在与从第一单端口存储器设备读取第一偶数据对象基本上相同的时间从第二单端口存储器设备读取第二奇数据对象。从第一单端口存储器设备读取第二偶数据对象。在从第一单端口存储器设备读取第二偶数据对象基本上相同的时间从第二单端口存储器设备读取第一奇数据对象。
【附图说明】
[0006]将参照附图从以下具体描述中更好地理解实施例,在附图中:
[0007]图1图示根据实施例的半导体芯片的框图,在该半导体芯片上,支持单端口存储器设备的模块被配置为避免写入冲突和读取冲突。
[0008]图2图示根据实施例的模块的框图,单端口存储器设备位于该模块上,并且该模块被配置为避免在单端口存储器设备上的写入和读取冲突。
[0009]图3图示根据实施例的通过图2的模块的数据对象流的定时图。
[0010]图4图示根据实施例的用于避免在单端口存储器设备中的写入冲突的流程图。
[0011]图5图示根据实施例的模块的框图,在该模块上,单端口存储器设备被配置为避免数据对象的写入冲突,其中数据对象未被划分成子数据对象。
[0012]图6图示根据实施例的发送写入操作的数据发送器的起动逻辑。
[0013]图7图示根据实施例的通过诸如图5的模块这样的模块的数据对象流的定时图。
[0014]图8图示根据实施例的用于在模块、诸如图5的模块中避免在单端口存储器设备中的写入冲突的方法的流程图。
[0015]图9图示根据各种实施例的用于图5的模块的读取操作电路。
【具体实施方式】
[0016]在附图中图示的特征未必按比例绘制。省略对熟知的部件和处理技术的描述以免不必要地模糊公开的实施例。对实施例的描述仅通过示例来提供而不旨在于限制本发明要求保护的范围。相同编号可以在附图和【具体实施方式】中用来指代相同设备、部分、部件、步骤、操作等。
[0017]这里的实施例提供了一种用于避免来自两个或者更多数据对象发送器的单端口存储器设备写入冲突的半导体芯片和方法,该两个或者更多数据对象发送器执行可以在相同时间发生、从而导致写入冲突的写入操作。避免写入冲突可以通过将写入操作的数据对象划分成两个或者更多子数据对象来完成。该划分可以对于每个写入操作而发生,并且写入操作的每个子数据对象可以具有专用单端口存储器设备。每个专用单端口存储器设备可以存储来自每个写入操作的子数据对象类型。这允许在相同时间到达单端口存储器设备的写入操作在与来自第二写入操作的第二类型子数据对象向第二单端口存储器设备写入相同的时间向第一单端口存储器设备写入来自第一写入操作的第一类型子数据对象。在实施例中,可以如通过使第一单端口存储器设备专用于偶数据对象和使第二单端口存储器设备专用于奇数据对象来防止在相同单端口存储器设备上的写入冲突这样的目的所必需的那样来对准(align)和延迟数据对象。
[0018]其它实施例包括在基本上相同时间向第一单端口存储器存储偶数据对象和向第二单端口存储器存储奇数据对象。可以在向单端口存储器存储时对来自两个或者更多发送器的偶和奇数据对象进行交织从而不会产生写入冲突。这里的更多其它实施例提供了一种用于避免两个或者更多读取请求器从单端口存储器的单端口存储器读取的冲突的半导体芯片和方法。
[0019]在用于单端口存储器设备的某些读取/写入环境中,写入冲突可能发生。写入冲突可能在两个或者更多写入操作在基本上相同时间到达单端口存储器设备中时发生。写入冲突可能在操作尝试被执行时产生错误。单端口存储器设备可以接收两个或者更多写入操作,因为它们可以从共享单端口存储器设备的资源的两个或者更多独立源接收写入操作。共享单端口存储器设备可能由于多个原因、诸如为了减少的功率和大小限制而具有优势。
[0020]不仅可能在单端口存储器设备中存在写入冲突而且读取冲突也可能发生。读取冲突可能在存在多个读取请求器在基本上相同时间请求来自共享单端口存储器的数据对象时发生。读取冲突也可能在操作尝试被执行时产生错误。
[0021]本公开的方面基于可以通过使用多端口存储器来解决在单端口存储器设备中的写入冲突这样的认识,该多端口存储器允许在相同时间向存储器的多于一行进行写入。每个写入操作源可以具有专用写入端口,这将允许在相同时间向存储器的不同行进行写入。然而,多端口存储器可能在功率、面积、可测试性、产量和开发工作方面比单端口存储器设备更昂贵。对于避免在单端口存储器设备中的写入冲突的另一认识是在存在来自独立源的多个写入操作时使用两倍之多的单端口存储器设备。每个源将获得它自己的专用单端口存储器设备集合。附加控制逻辑可以用来保持对哪些写入源拥有实际单端口存储器设备的跟踪。倍增单端口存储器设备数量也在功率、面积和产量方面倍增成本。这些认识还设想由于它们的避免写入冲突的性质(多端口和倍增的单端口存储器设备数量)而避免读取冲突。
[0022]其中写入冲突可能在单端口存储器设备中发生的情形的示例在计算机处理器芯片或者其它半导体芯片上。在处理器芯片、诸如三级(L3)高速缓存上的数据发送器(这里也称为写入源)可以被拆分成两个,这允许来自两个独立写入源、例如第一 L3高速缓存和第二 L3高速缓存的第一写入操作和第二写入操作。拆分的L3高速缓存可以连接到包含单端口存储器设备的模块、诸如PCI桥控制器。PCI桥控制器可以包括用于每个I/O获取(fetch)有限状态机(FSM)的专用缓冲器,该FSM从L3高速缓存获取数据对象。每个缓冲器可以具有256字节的容量。缓冲器不会立刻都被写入,而是按4:1周期以16字节被写入。可以在示例模块中存在共计32个缓冲器。出于高效功率和面积原因,多个缓冲器可以共享单端口存储器设备、诸如SRM或者DRAM。四个缓冲器可以在用于所使用的共计八个SRAM的每个SRAM中。在SRAM内的缓冲器可以与针对通过拆分而创建的L3高速缓存中的每个L3高速缓存的获取关联。两个L3高速缓存是独立的,并且具有数据对象的响应可以在任何时间到达。在针对共享相同单端口
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1