Patent US5721871A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5721871A Expired / Lapsed US ⏱️ 0.0 years remaining

Memory system ensuring coherency for memory buffers in a data communication system

Assignee: Apple Inc
•
Filing: 1996-02-09
•
Granted: 1998-02-24
•
Expires: 2016-02-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A memory system (3) for storing data messages communicated between a processor unit (13) and a communication module (11) comprises a memory array (4) having a plurality of memory buffers (B0-BM) for storing the data messages. First logic circuitry (28) generates a lock signal for a memory buffer which lock signal is valid when the processor trait (13) reads the first data word of the data message stored in the memory buffer whilst the memory buffer is not being accessed by the communication module (11). Module decode logic (22) coupled to receive the lock signal prevents the communication module (11) from writing a data message to a memory buffer when a valid lock signal has been generated for that memory buffer. The memory system (3) further comprises second logic circuitry (30) for providing a busy signal to the processor unit (13) when the processor unit reads the first data word from a memory buffer. The busy signal forms part of the first data word read from the memory buffer, and its logic state indicates whether or not the memory buffer is being written to by the communication module (11).

Inventors

  • 👤 Avi Ginsberg
  • 👤 Yaniv Shapira
  • 👤 Yaron Ben-Arie
  • 👤 Benjamin Rosen

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 20:02
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/10; G06F13/12; G06F13/124; G06F13/126; G06F13/14; G06F13/16; G06F13/1668; G06F13/1673

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 273 words
A memory system for storing data messages communicated between a processor unit and a communication module, the memory system comprising: a memory array having a plurality of memory buffers, each buffer for storing a data message comprising at least two data words; first logic circuitry for generating a lock signal for a memory buffer of the plurality of memory buffers, the lock signal being valid when the processor unit reads the first data word of the data message stored in the memory buffer whilst the memory buffer is not being accessed by the communication module, the lock signal for the memory buffer being invalidated when the processor unit reads the first data word of the data message stored in a different memory buffer; module decode logic coupled to the first logic circuitry for receiving the lock signal, the module decode logic preventing the communication module from writing a data message to the memory buffer when a valid lock signal has been generated by the first logic circuitry for that memory buffer and allowing the data message to be written to the memory buffer when the lock signal for that memory buffer is invalidated; and second logic circuitry for generating and providing a busy signal to the processor unit when the processor unit reads the first data word from the memory buffer, the busy signal forming part of the first data word read from the memory buffer, and having a first logic state when the memory buffer is being written to by the communication module and having a second logic state when the memory buffer is not being written to by the communication module.
Claim 2
Dependent Claim 273 words
A memory system for storing data messages communicated between a processor unit and a communication module, the memory system comprising: a memory array having a plurality of memory buffers, each buffer for storing a data message comprising at least two data words; first logic circuitry for generating a lock signal for a memory buffer of the plurality of memory buffers, the lock signal being valid when the processor unit reads the first data word of the data message stored in the memory buffer whilst the memory buffer is not being accessed by the communication module, the lock signal for the memory buffer being invalidated when the processor unit reads the first data word of the data message stored in a different memory buffer; module decode logic coupled to the first logic circuitry for receiving the lock signal, the module decode logic preventing the communication module from writing a data message to the memory buffer when a valid lock signal has been generated by the first logic circuitry for that memory buffer and allowing the data message to be written to the memory buffer when the lock signal for that memory buffer is invalidated; and second logic circuitry for generating and providing a busy signal to the processor unit when the processor unit reads the first data word from the memory buffer, the busy signal forming part of the first data word read from the memory buffer, and having a first logic state when the memory buffer is being written to by the communication module and having a second logic state when the memory buffer is not being written to by the communication module.
Claim 3
Dependent Claim 157 words
A memory system according to claim 1 wherein the first logic circuitry comprises: a register having an input for receiving an address of the memory buffer generated by the processor unit and for storing an address value representing the received address, the register further having an output coupled to the module decode logic; logic gate circuitry having a first input coupled to receive a first word read signal generated when the processor unit reads the first data word from the memory buffer, a second input coupled to receive the busy signal and an output for providing an output signal; latch circuitry having an input coupled to the output of the logic gate circuitry and an output for providing the lock signal to the module decode logic, the latch circuitry providing the valid lock signal or the invalidated lock signal in dependence on the logic state of the output signal at the output of the logic gate circuitry.
Claim 4
Dependent Claim 187 words
A memory system according to claim 2 wherein the module decode logic comprises: comparator circuitry having a first input coupled to the output of the register to receive the address value stored in the register, a second input coupled to receive the address of a memory buffer generated by the communication module and an output for providing a match signal when the address value at the first input corresponds to the address at the second input and a no-match signal when the address value at the first input does not match the address at the second input; and logic coupled to the output of the comparator circuitry and to receive the lock signal for generating a signal which prevents the communication module from writing a data message to the memory buffer when the match signal is provided at the output of the comparator circuitry and the lock signal is valid or a signal which allows the communication module to write a data message to the memory buffer when the no-match signal is provided at the output of thee comparator circuitry or when the lock signal is invalidated.
Claim 5
Dependent Claim 70 words
A memory system according to claim 3 wherein the logic gate circuitry comprises: an AND gate having a first input coupled to the first input of the logic gate circuitry, a second input and an output coupled to the output of the logic gate circuitry; and a NOT gate having an input coupled to receive the busy signal and an output coupled to the second input of the AND gate.
Claim 6
Dependent Claim 39 words
A memory system according to claim 2 wherein the latch circuitry has a second input coupled to receive a control signal from the processor unit, the latch circuitry invalidating the lock signal in response to receiving the control signal.
Claim 7
Dependent Claim 52 words
A memory system according to claim 1 wherein the first logic circuitry generates a lock signal comprising a lock signal valid bit, the lock signal being valid when the lock signal valid bit has a first logic state and being invalidated when the lock signal valid bit has a second logic state.
Claim 8
Dependent Claim 24 words
A memory system according to claim 1 wherein the lock signal is invalidated in response to a control signal generated by the processor unit.
Claim 9
Dependent Claim 375 words
A memory system according to claim 1 wherein the second logic circuitry comprises: circuitry comprising: comparator circuitry having a first input coupled to receive the address of the memory buffer which is generated by the processor unit and a second input coupled to receive the address of a memory buffer which is generated by the communication module and an output for providing a match signal when the address at the first input corresponds to the address at the second input and a no-match signal when the address at the first input does not correspond to the address at the second input, and logic coupled to the output of the comparator circuitry and to receive a communication module write signal, the logic providing the busy signal having the first logic state when the match signal is provided at the output of the comparator circuitry and the communication module write signal indicates the communication module is writing to the memory buffer or the busy signal having the second logic state when the no-match signal is provided at the output of the comparator circuitry or when the communication module write signal indicates the communication module is not writing to the memory buffer; and a multiplexer having a first input coupled to receive a bit of each data word of the data message when a data message is read by the processor unit, a second input coupled to receive the busy signal and a control input coupled to receive a first word read signal generated by the processor unit, the first word read signal having a first logic state when the processor unit reads the first data word from the memory buffer and a second logic state when the processor unit is not reading the first data word from the memory buffer, and an output for transferring the bit or the busy signal to the processor unit as part of the data word read from the memory buffer depending on which input of the first and second inputs is selected, the multiplexer selecting the second input in response to receiving the first word read signal having the first logic state and selecting the first input in response to receiving the first word read signal having the second logic state.
Claim 10
Dependent Claim 35 words
A memory system according to claim 1 wherein the busy signal forms a bit of the first data word of the data message as the processor unit reads the data message from the memory buffer.
Claim 11
Dependent Claim 38 words
A memory system according to claim 9 wherein the busy signal forms the Least Significant Bit (LSB) of the first data word of the data message as the processor unit reads the data message from the memory buffer.
Claim 12
Dependent Claim 317 words
A data communications system comprising: a processor unit for transmitting and receiving data messages; a communication module for transmitting and receiving data messages; and a memory system for storing data messages received from the communication module for subsequent transmission to the processor unit and for storing data messages received from the processor unit for subsequent transmission to the communication module, the memory system comprising: a memory array having a plurality of memory buffers, each buffer for storing a data message comprising at least two data words; first logic circuitry for generating a lock signal for a memory buffer of the plurality of memory buffers, the lock signal being valid when the processor unit reads the first data word of the data message stored in the memory buffer whilst the memory buffer is not being accessed by the communication module, the lock signal for the memory buffer being invalidated when the processor unit reads the first data word of the data message stored in a different memory buffer; module decode logic coupled to the first logic circuitry for receiving the lock signal, the module decode logic preventing the communication module from writing a data message to the memory buffer when a valid lock signal has been generated by the first logic circuitry for that memory buffer and allowing the data message to be written to the memory buffer when the lock signal for that memory buffer is invalidated; and second logic circuitry for generating and providing a busy signal to the processor unit when the processor unit reads the first data word from the memory buffer, the busy signal forming part of the first data word read from the memory buffer, and having a first logic state when the memory buffer is being written to by the communication module and having a second logic state when the memory buffer is not being written to by the communication module.
Claim 13
Dependent Claim 317 words
A data communications system comprising: a processor unit for transmitting and receiving data messages; a communication module for transmitting and receiving data messages; and a memory system for storing data messages received from the communication module for subsequent transmission to the processor unit and for storing data messages received from the processor unit for subsequent transmission to the communication module, the memory system comprising: a memory array having a plurality of memory buffers, each buffer for storing a data message comprising at least two data words; first logic circuitry for generating a lock signal for a memory buffer of the plurality of memory buffers, the lock signal being valid when the processor unit reads the first data word of the data message stored in the memory buffer whilst the memory buffer is not being accessed by the communication module, the lock signal for the memory buffer being invalidated when the processor unit reads the first data word of the data message stored in a different memory buffer; module decode logic coupled to the first logic circuitry for receiving the lock signal, the module decode logic preventing the communication module from writing a data message to the memory buffer when a valid lock signal has been generated by the first logic circuitry for that memory buffer and allowing the data message to be written to the memory buffer when the lock signal for that memory buffer is invalidated; and second logic circuitry for generating and providing a busy signal to the processor unit when the processor unit reads the first data word from the memory buffer, the busy signal forming part of the first data word read from the memory buffer, and having a first logic state when the memory buffer is being written to by the communication module and having a second logic state when the memory buffer is not being written to by the communication module.
Claim 14
Dependent Claim 157 words
A memory system according to claim 11 wherein the first logic circuitry comprises: a register having an input for receiving an address of the memory buffer generated by the processor unit and for storing an address value representing the received address, the register further having an output coupled to the module decode logic; logic gate circuitry having a first input coupled to receive a first word read signal generated when the processor unit reads the first data word from the memory buffer, a second input coupled to receive the busy signal and an output for providing an output signal; latch circuitry having an input coupled to the output of the logic gate circuitry and an output for providing the lock signal to the module decode logic, the latch circuitry providing the valid lock signal or the invalidated lock signal in dependence on the logic state of the output signal at the output of the logic gate circuitry.
Claim 15
Dependent Claim 187 words
A memory system according to claim 12 wherein the module decode logic comprises: comparator circuitry having a first input coupled to the output of the register to receive the address value stored in the register, a second input coupled to receive the address of a memory buffer generated by the communication module and an output for providing a match signal when the address value at the first input corresponds to the address at the second input and a no-match signal when the address value at the first input does not match the address at the second input; and logic coupled to the output of the comparator circuitry and to receive the lock signal for generating a signal which prevents the communication module from writing a data message to the memory buffer when the match signal is provided at the output of the comparator circuitry and the lock signal is valid or a signal which allows the communication module to write a data message to the memory buffer when the no-match signal is provided at the output of the comparator circuitry or when the lock signal is invalidated.
Claim 16
Dependent Claim 70 words
A memory system according to claim 13 wherein the logic gate circuitry comprises: an AND gate having a first input coupled to the first input of the logic gate circuitry, a second input and an output coupled to the output of the logic gate circuitry; and a NOT gate having an input coupled to receive the busy signal and an output coupled to the second input of the AND gate.
Claim 17
Dependent Claim 39 words
A memory system according to claim 12 wherein the latch circuitry has a second input coupled to receive a control signal from the processor unit, the latch circuitry invalidating the lock signal in response to receiving the control signal.
Claim 18
Dependent Claim 52 words
A memory system according to claim 11 wherein the first logic circuitry generates a lock signal comprising a lock signal valid bit, the lock signal being valid when the lock signal valid bit has a first logic state and being invalidated when the lock signal valid bit has a second logic state.
Claim 19
Dependent Claim 24 words
A memory system according to claim 11 wherein the lock signal is invalidated in response to a control signal generated by the processor unit.
Claim 20
Dependent Claim 375 words
A memory system according to claim 11 wherein the second logic circuitry comprises: circuitry comprising: comparator circuitry having a first input coupled to receive the address of the memory buffer which is generated by the processor unit and a second input coupled to receive the address of a memory buffer which is generated by the communication module and an output for providing a match signal when the address at the first input corresponds to the address at the second input and a no-match signal when the address at the first input does not correspond to the address at the second input; and logic coupled to the output of the comparator circuitry and to receive a communication module write signal, the logic providing the busy signal having the first logic state when the match signal is provided at the output of the comparator circuitry and the communication module write signal indicates the communication module is writing to the memory buffer or the busy signal having the second logic state when the no-match signal is provided at the output of the comparator circuitry or when the communication module write signal indicates the communication module is not writing to the memory buffer; and a multiplexer having a first input coupled to receive a bit of each data word of the data message when a data message is read by the processor unit, a second input coupled to receive the busy signal and a control input coupled to receive a first word read signal generated by the processor unit, the first word read signal having a first logic state when the processor unit reads the first data word from the memory buffer and a second logic state when the processor unit is not reading the first data word from the memory buffer, and an output for transferring the bit or the busy signal to the processor unit as part of the data word read from the memory buffer depending on which input of the first and second inputs is selected, the multiplexer selecting the second input in response to receiving the first word read signal having the first logic state and selecting the first input in response to receiving the first word read signal having the second logic state.
Claim 21
Dependent Claim 35 words
A memory system according to claim 11 wherein the busy signal forms a bit of the first data word of the data message as the processor unit reads the data message from the memory buffer.
Claim 22
Dependent Claim 38 words
A memory system according to claim 19 wherein the busy signal forms the Least Significant Bit (LSB) of the first data word of the data message as the processor unit reads the data message from the memory buffer.

References Cited (Backward Citations)

US4380798A Cited
US5555560A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-02-23 2001-08-25 2002-02-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-02-23 2005-08-25 2006-02-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-02-23 2009-08-25 2010-02-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag