[comp.sys.mac.hardware] Memory speeds can be critical

dhoyt@vx.acs.umn.edu (DAVID HOYT) (12/18/90)

  Although most macs can get by with a mix of memory simms at different speeds
it can cause problems if you mix the chips within the same bank.  Imagine you
have a chip that is rated at 120ns with a 120ns driver.  (Greatly simplifying)
you will have a signal that looks like this
         +---+                       +---+
         |   |                       |   |
     ----+   +-----------------------+   +----------------------
         0 ns     Time->             120ns

I.e. the amount of time that the signal takes to get through the chip is
roughly 120ns.  Now with a chip rated at 60ns running at 60ns the signal
will take 60ns to pass through the chip.  All well and good.  But now
take the 60ns chip and run it at 120ns.  The chip is still designed so that
the signal will take 60ns to clear the chip.  You'll end up with at situation
like
         +---+              +---+
         |   |              |   |
     ----+   +--------------+   +----------------------
         0 ns     Time->             120ns

  Now most memory speeds are not exact.  A chip nominally rated at 120ns
may actually be usable at 110ns.  Because of this, when the engineers design a
system they allow for some amount of skew.  For this reason, you can often get
by with mixing and matching chips.  But you can also get bit if the skew is too
much.  Which is why apple suggests using the same speed chips.

  On the macs with two lines (banks) of memory there are two drivers, one for
each bank.  With different drivers, the skew between banks is much less
important than skew within banks.  This is why the rule of thumb is 'use the
same speed within banks' rather than 'use the same speed for all chips.'

   Now this is all a gross generalization and the real world is much more
complex, but hopefully this will give some idea why it's a bad idea to
mix-and-match willy-nilly.

david | dhoyt@vx.acs.umn.edu | dhoyt@umnacvx.bitnet

amanda@visix.com (Amanda Walker) (12/19/90)

All right, now I'm really confused, and I've built DRAM circuitry...

In article <2915@ux.acs.umn.edu> dhoyt@vx.acs.umn.edu writes:
>Imagine you have a chip that is rated at 120ns with a 120ns driver.
>(Greatly simplifying) you will have a signal that looks like this
>         +---+                       +---+
>         |   |                       |   |
>     ----+   +-----------------------+   +----------------------
>         0 ns     Time->             120ns
>
>I.e. the amount of time that the signal takes to get through the chip is
>roughly 120ns.

Not even close.  There is no signal "going through the chip."  The
"speed" of a dynamic RAM which is usually quoted (and which is printed
on the chip) is not a propagation delay.  It is the Row Access Time,
usually abbreviated Trac, and refers to the guaranteed maximum time it
will take for the data outputs to become stable, or the data inputs to
be properly latched, after the Row Address Strobe (RAS) is asserted.
In simple terms, this is how long you have to wait before looking at
the outputs to be sure they are stable.  They will actually become
stable at some time before that, but until RAS is negated, the outputs
will just sit there.  The length of the RAS pulse is a function of the
memory addressing circuitry (in this case, the Mac), not of the SIMM.
There are no strobes or other signals generated by the DRAMs, besides
the data bits themselves, and those data bits are held on the bus
until the Mac tells the chip to let go, as it were.

Once again, the Mac can't tell when the data is ready; it just waits
the rated amount of time and latches the data then.  If the outputs
settle 20ns early, it doesn't care.  They'll still be there until it
gets done with them.

>Now this is all a gross generalization and the real world is much more
>complex,

Indeed.

>but hopefully this will give some idea why it's a bad idea to
>mix-and-match willy-nilly.

Nope.  Sigh.  I have no idea what you're talking about, but it sure
isn't DRAM.  I still want to hear an explanation that's either quoted
from the tech note or straight from one of the hardware dudes who
designed the memory system in question.  I mean, I don't even know how
to build a dynamic memory subsystem that could tell the difference,
even on purpose...

I've even got a IIsi at home--I'll see if I can scrape up some mixed-speed
SIMMs and actually try this out.

-- 
Amanda Walker						      amanda@visix.com
Visix Software Inc.					...!uunet!visix!amanda
--
"Generally you don't see that type of behavior in a major appliance."
		--Ghostbusters

dhoyt@vx.acs.umn.edu (DAVID HOYT) (12/20/90)

In article <NBMNdxye@visix.com>, amanda@visix.com (Amanda Walker) writes...
>Nope.  Sigh.  I have no idea what you're talking about, but it sure
>isn't DRAM.

  Well, yes and no.  I realize that there is no 'signal' that goes through
the chip.  I used that 'simplification' as a way of explaining what is really
going on, but that is not really goes on.

  Think of a straight wire with zero impedance.  A signal will travel through
it at a rate of about 30cm/ns.  Boost the impedance on the wire and the signal
take longer to travel the same distance.  The same thing happens with memory
chips.  The lower speed ones tend to have higher impedances.  The higher speed
chip will have it's downbeat a bit before the slower chip.

  In micros there are fairly few components and the memory drivers are fairly
simple; so using different speed chips usually are not a problem as long as
the speeds are fairly close.  In a more complex system, such as a mainframe,
all of the small differences in speed could add up to a big difference
in the end.  With the end result of the computer not working.  This
is why mainframe computer engineers specify both the best and the worst
behavior allowable to their chip suppliers.

  With micros, because of the reduced complexity, you can get away with a
little bit more slack at either end.  But you can still run into problems.
If you put 4ns memory in your mac most likely it wouldn't work.  The advice of
Apple is sound.  Don't mix if you don't have to mix.  And if you do mix, don't
mix in the same bank.

david | dhoyt@vx.acs.umn.edu | dhoyt@umnacvx.bitnet
Worry about it a little bit, but that's all. -- John Hartford

n67786@lehtori.tut.fi (Nieminen Tero) (12/20/90)

In article <NCrwEGxa@visix.com> amanda@visix.com (Amanda Walker) writes:

   In article <2924@ux.acs.umn.edu> dhoyt@vx.acs.umn.edu writes:
   >The lower speed ones tend to have higher impedances.  The higher speed
   >chip will have it's downbeat a bit before the slower chip.

   So far I follow you; I have in fact run into some weird speed problems
   (for example, mixing FAST and LSTTL chips), and I can see the possibility
   that using memory that is a whole lot faster than the design could cause
   a problem.  However, I still do not see how the speed of one SIMM can
   affect the others in its bank, even with brain-dead driver circuitry.
   I mean, if using all 100ns works, and using all 80ns works, how can
   using two of each cause a problem.  All of the SIMMs are still within
   tolerances--just in different places within them.

Only reason for this I can think of is that the logic doesn't properly
check the memory ready lines from all simms in a bank but instead just
uses one single sim for that purpose. Now if the simm in question
happens to be faster than the others in the bank the other simms might
not be staedy at the time the cpu issues the read. This all comes down
to the gray areas in signal timing charts, ie. transition periods. If
mixing different speed simms cause the signals to fall out of those
areas you may be in trouble. The timings (and the ram chip speeds also)
are probably designed so that this should not be a problem within same
speed chips.

   Amanda Walker					      amanda@visix.com
   Visix Software Inc.					...!uunet!visix!amanda

--
   Tero Nieminen                    Tampere University of Technology
   n67786@cc.tut.fi                 Tampere, Finland, Europe

amanda@visix.com (Amanda Walker) (12/21/90)

In article <2924@ux.acs.umn.edu> dhoyt@vx.acs.umn.edu writes:
>The lower speed ones tend to have higher impedances.  The higher speed
>chip will have it's downbeat a bit before the slower chip.

So far I follow you; I have in fact run into some weird speed problems
(for example, mixing FAST and LSTTL chips), and I can see the possibility
that using memory that is a whole lot faster than the design could cause
a problem.  However, I still do not see how the speed of one SIMM can
affect the others in its bank, even with brain-dead driver circuitry.
I mean, if using all 100ns works, and using all 80ns works, how can
using two of each cause a problem.  All of the SIMMs are still within
tolerances--just in different places within them.

>If you put 4ns memory in your mac most likely it wouldn't work.  The advice of
>Apple is sound.  Don't mix if you don't have to mix.  And if you do mix, don't
>mix in the same bank.

We're not talking putting bipolar SIMMs (an amusing concept) into a IIsi.
We're talking about putting in SIMMs that fall into different spots in
the "safe zone."  If the problem really was speed slew of some sort,
you'd have to have actual matched sets of SIMMs, not just ones all stamped
with the same speed.  A 100ns SIMM may well be an 80ns SIMM that got marked
as 100ns because the memory company had more orders for 100ns SIMMs that
month.  The rating is simply the worst case--the best case is always
undefined.


-- 
Amanda Walker						      amanda@visix.com
Visix Software Inc.					...!uunet!visix!amanda
--
"I wouldn't be surprised if the architecture of Intel's microprocessors
 were eventually linked to the eventual fall of mankind."
		--Steve Gibson

dhoyt@vx.acs.umn.edu (DAVID HOYT) (12/21/90)

In article <NCrwEGxa@visix.com>, amanda@visix.com (Amanda Walker) writes...
>            However, I still do not see how the speed of one SIMM can
>affect the others in its bank, even with brain-dead driver circuitry.
>I mean, if using all 100ns works, and using all 80ns works, how can
>using two of each cause a problem.  All of the SIMMs are still within
>tolerances--just in different places within them.

  It's a matter of how much difference in speed (and other electrical)
differences the memory drivers can handle.  Each chip is unlikely to have
exactly the same characteristics as the other chips.  Memory drivers are
designed to compensate for these differences as long as they are small. Now
each bank of memory has its own driver circuitry, so each bank can handle
separate ranges of variations (++++ vs ----).  Variation between banks is then
adjusted so the entire memory subsystem looks to be the same.  This is why you
can get by with a bit more differences between banks than within banks.

>We're not talking putting bipolar SIMMs (an amusing concept) into a IIsi.

  Okay, so I cheated.  Bipolar chips would either be blown by or blow the
memory drivers.

>                      A 100ns SIMM may well be an 80ns SIMM that got marked
>as 100ns because the memory company had more orders for 100ns SIMMs that
>month.  The rating is simply the worst case--the best case is always
>undefined.

  In the micro market place the best case might be undefined (because nobody
knows to ask) but the real world the best case is designated as well.
When Cray builds a 256 Megaword (call it 2GB in the micro world) Cray 2
you better believe that it specifies both the best and the worst case for
those chips.  If the memory supplier 'slipped' in a few 60ns chips along with
the trainload of 80ns chips it could render the $20 million machine useless.
It would probably cause sporadic memory errors at the very best.  The reason
that we can get by with it in our micros is that the micros don't have the
complexity that turns lots of little differences into one big, unworkable
difference.

david | dhoyt@vx.acs.umn.edu | dhoyt@vx.acs.umn.edu

kaufman@Neon.Stanford.EDU (Marc T. Kaufman) (12/21/90)

In article <N67786.90Dec20162530@lehtori.tut.fi> n67786@lehtori.tut.fi (Nieminen Tero) writes:

>Only reason for this I can think of is that the logic doesn't properly
>check the memory ready lines from all simms in a bank but instead just
>uses one single sim for that purpose...

That would be a good argument, IF there were "memory-ready" lines from the
simms... but there are no such lines.  Simm timing is strictly controlled by
external circuitry waiting for the prescribed times.

Tell me, how did you think of that reason?  What data book or hardware
reference has it?

Marc Kaufman (kaufman@Neon.stanford.edu)

amanda@visix.com (Amanda Walker) (12/22/90)

In article <N67786.90Dec20162530@lehtori.tut.fi>
n67786@lehtori.tut.fi (Nieminen Tero) writes:
>Only reason for this I can think of is that the logic doesn't properly
>check the memory ready lines from all simms in a bank but instead just
>uses one single sim for that purpose.

This would be a perfect explanation except for one problem: SIMMs
don't have "memory ready" lines, or any kind of strobe or signal that
indicates when the data is ready.  It's the driver circuit's
responsibility to wait long enough.  This is why, for example, you
can't use cheaper but slower SIMMs than a machine is rated for--the
driver logic will assume the data is ready, even if it's not, because
there is no way for it to tell.

-- 
Amanda Walker						      amanda@visix.com
Visix Software Inc.					...!uunet!visix!amanda
--
Black holes are where God is dividing by zero.

peirce@outpost.UUCP (Michael Peirce) (12/22/90)

In article <NCrwEGxa@visix.com>, amanda@visix.com (Amanda Walker) writes:
 We're not talking putting bipolar SIMMs (an amusing concept) into a IIsi.
> We're talking about putting in SIMMs that fall into different spots in
> the "safe zone."  If the problem really was speed slew of some sort,
> you'd have to have actual matched sets of SIMMs, not just ones all stamped
> with the same speed.  A 100ns SIMM may well be an 80ns SIMM that got marked
> as 100ns because the memory company had more orders for 100ns SIMMs that
> month.  The rating is simply the worst case--the best case is always
> undefined.

This is exactly how they do it.  Each production line has a big
test machine at the end.  They sort the chips into various bins
based on their conclusion that this chip will have its outputs settle
in 80ns or 100ns.  Many many times they will label all the chips that
tested at a faster speed with the lower speed just because of the
orders coming in that week.  Many chips labeled 100ns are in fact
the very same chips that tested as 80ns and could have been labeled
as such.

-- michael, (very) formerly of Fairchild Test Systems


--  Michael Peirce         --   {apple,decwrl}!claris!outpost!peirce
--  Peirce Software        --   Suite 301, 719 Hibiscus Place
--  Macintosh Programming  --   San Jose, California 95117
--           & Consulting  --   (408) 244-6554, AppleLink: PEIRCE

amanda@visix.com (Amanda Walker) (12/22/90)

In article <2946@ux.acs.umn.edu> dhoyt@vx.acs.umn.edu writes:
>It's a matter of how much difference in speed (and other electrical)
>differences the memory drivers can handle.

Can you give a detailed example of these differences?  I still can't
come up with any relevant differences that come into play only in
combinations of dissimilar SIMMs.  I mean, if we were talking about
asynchronous memory subsystems, you might have a good point.  However,
we're talking quite vanilla dynamic RAM subsystems, which in my
experience just don't act in the ways you seem to be claiming they do.
This experience includes designing and building DRAM subsystems, as
well as actually using mixed-speed SIMM banks in a Mac II without any
mishap whatsoever.

>Variation between banks is then
>adjusted so the entire memory subsystem looks to be the same.

"Adjusted?"  What do you mean?  The Mac memory circuitry, and any
other conventional DRAM support logic, does not and cannot do any
dynamic adaptation to the speed of the memory, since, as I have said
before, It has no way to tell what that speed is.  DRAM signal
sequencing does not involve any feedback from the memory itself.  Even
memory support logic that has been designed to handle different speeds
of memory has to be explicitly configured (via jumpers or something
similar) for the appropriate speed.

>In the micro market place the best case might be undefined (because nobody
>knows to ask) but the real world the best case is designated as well.

Since the IIsi is part of the micro marketplace, and was designed to
use mass market memory, Cray memory design contraints are pretty
irrelevant, wouldn't you say?

Look, as I said before, I'm not trying to argue with reality, it's
just that this "same-speed" claim contradicts both my own experience
and my understanding of dynamic RAM technology, which so far has
served me in very good stead...

-- 
Amanda Walker						      amanda@visix.com
Visix Software Inc.					...!uunet!visix!amanda
--
"Furious activity is no substitute for understanding."	--H. H. Williams

n67786@lehtori.tut.fi (Nieminen Tero) (12/23/90)

In article <NCKE4o6m@visix.com> amanda@visix.com (Amanda Walker) writes:

   In article <N67786.90Dec20162530@lehtori.tut.fi>
   n67786@lehtori.tut.fi (Nieminen Tero) writes:
   >Only reason for this I can think of is that the logic doesn't properly
   >check the memory ready lines from all simms in a bank but instead just
   >uses one single sim for that purpose.

   This would be a perfect explanation except for one problem: SIMMs
   don't have "memory ready" lines, or any kind of strobe or signal that
   indicates when the data is ready.  It's the driver circuit's
   responsibility to wait long enough.  This is why, for example, you
   can't use cheaper but slower SIMMs than a machine is rated for--the
   driver logic will assume the data is ready, even if it's not, because
   there is no way for it to tell.

Ok. My knowledge was outdated to the times of static memories :). Thanks
for the update. If this is the case one would appear to be playing
russian roulette with fully loaded revolver, eh. Maybe the machines just
have enough wait states to compensate..

BTW, it's often not possible to use slow rams on systems that have
memory ready signal, cause the cpu don't know how to wait.
   -- 
   Amanda Walker					      amanda@visix.com
   Visix Software Inc.					...!uunet!visix!amanda
   --
   Black holes are where God is dividing by zero.
-- 
   Tero Nieminen                    Tampere University of Technology
   n67786@cc.tut.fi                 Tampere, Finland, Europe

kaufman@Neon.Stanford.EDU (Marc T. Kaufman) (12/24/90)

-(Nieminen Tero) writes:
->Only reason for this I can think of is that the logic doesn't properly
->check the memory ready lines from all simms in a bank but instead just
->uses one single sim for that purpose.

>(Amanda Walker [one of many]) replies:
>   This would be a perfect explanation except for one problem: SIMMs
>   don't have "memory ready" lines, or any kind of strobe or signal that
>   indicates when the data is ready.

->then (Nieminen Tero) writes:
->Ok. My knowledge was outdated to the times of static memories :).

Uh... Nieminen.... static memories don't have ready lines either.

->BTW, it's often not possible to use slow rams on systems that have
->memory ready signal, cause the cpu don't know how to wait.

The only memory systems (not individual chips) I know of with "ready" lines
are those interfaced to a bus structure, such as NuBus, VME or Versabus, etc.
In all of these I am aware of, waiting for ready is a mandatory part of the
bus protocol.

Marc Kaufman (kaufman@Neon.stanford.edu)

sukenick@sci.ccny.cuny.edu (SYG) (12/25/90)

>memory support logic that has been designed to handle different speeds
>of memory has to be explicitly configured (via jumpers or something

>just that this "same-speed" claim contradicts both my own experience
>and my understanding of dynamic RAM technology, which so far has

Same with me.  The other arguments for "same speed only" so far haven't
convinced me.  Can anyone come up with a convincing mechanism as to why
mixed speed memory will not work?  The memory speed only refers to time
between select (or whatever signal) and when data is ready to be input
or output.

The only possible problem I could see with higher speed memory is their
faster rise time which may introduce noise (or ring) for a board not designed
for them......   But the speed difference is relatively small, so I would
not think that this is a factor.

north@Apple.COM (Don North) (12/28/90)

In article <NBMNdxye@visix.com> amanda@visix.com (Amanda Walker) writes:
>All right, now I'm really confused, and I've built DRAM circuitry...
>In article <2915@ux.acs.umn.edu> dhoyt@vx.acs.umn.edu writes:
>>
>>Imagine you have a chip that is rated at 120ns with a 120ns driver.
>>(Greatly simplifying) you will have a signal that looks like this
>>         +---+                       +---+
>>         |   |                       |   |
>>     ----+   +-----------------------+   +----------------------
>>         0 ns     Time->             120ns
>>
>>I.e. the amount of time that the signal takes to get through the chip is
>>roughly 120ns.
>>
>Not even close.  There is no signal "going through the chip."  The
>"speed" of a dynamic RAM which is usually quoted (and which is printed
>on the chip) is not a propagation delay.  It is the Row Access Time,
>
>Once again, the Mac can't tell when the data is ready; it just waits
>the rated amount of time and latches the data then.  If the outputs
>settle 20ns early, it doesn't care.  They'll still be there until it
>gets done with them.

Amanda is right; no if's and's or but's!  There is no reason why SIMM speeds
cannot be mixed as long as they meet the maximum access time spec'ed for the
particular machine (ie, 120ns or 100ns or 80ns).  Think about it; on a given
SIMM there are EIGHT individual memory chips built from EIGHT individual
pieces of silicon (they don't even have to be from the same manufacturer, but
usually are) - those eight chips are certainly not matched down to the nearest
nanosecond in their access times.  In fact one could conceivably build a SIMM
with a mixture of 80ns,100ns,120ns parts and call it a '120ns' SIMM.

If TN176 says that SIMM speeds cannot be mixed then it is WRONG - as long as
all the SIMMs meet or exceed (are faster) the required access time spec.

I am intimately familiar with the various Mac memory interface circuits and
have built numerous other DRAM controllers, and there is NO REASON why DRAM
speeds cannot be mixed - as long as the required maximum access time is met.
Remember, whenever you have more than ONE DRAM in a circuit you are mixing
speeds!

-- 

Don North   -----   Apple Computer, Inc.   -----   Advanced Technology Group

UUCP: ...!{voder,nsc,decwrl,sun}!apple!north          CSNET: north@Apple.COM

{{ Facts are facts,  but any opinions expressed are my own,  and *do not* }}
{{ represent any viewpoint, official or otherwise, of Apple Computer, Inc.}}

amanda@visix.com (Amanda Walker) (12/28/90)

In article <47604@apple.Apple.COM> north@Apple.COM (Don North) writes:
>Amanda is right; no if's and's or but's!
>	...
>I am intimately familiar with the various Mac memory interface circuits and
>have built numerous other DRAM controllers, and there is NO REASON why DRAM
>speeds cannot be mixed - as long as the required maximum access time is met.
>Remember, whenever you have more than ONE DRAM in a circuit you are mixing
>speeds!

Whew.  Thank you, Don.  I was beginning to wonder if I'd switched
universes some time when I wasn't looking.  Grin.

Now, if people start arguing with *you*, I may suggest starting a new
newsgroup called comp.sys.mac.folklore :)...
-- 
Amanda Walker						      amanda@visix.com
Visix Software Inc.					...!uunet!visix!amanda
--
"I used to be disgusted; now I'm just amused."	--Elvis Costello

Don.North@f20.n226.z1.FIDONET.ORG (Don North) (12/28/90)

Reply-To: north@Apple.COM

In article <NBMNdxye@visix.com> amanda@visix.com (Amanda Walker) writes:
>All right, now I'm really confused, and I've built DRAM circuitry...
>In article <2915@ux.acs.umn.edu> dhoyt@vx.acs.umn.edu writes:
>>
>>Imagine you have a chip that is rated at 120ns with a 120ns driver.
>>(Greatly simplifying) you will have a signal that looks like this
>>         +---+                       +---+
>>         I   I                       I   I
>>     ----+   +-----------------------+   +----------------------
>>         0 ns     Time->             120ns
>>
>>I.e. the amount of time that the signal takes to get through the chip is
>>roughly 120ns.
>>
>Not even close.  There is no signal "going through the chip."  The
>"speed" of a dynamic RAM which is usually quoted (and which is printed
>on the chip) is not a propagation delay.  It is the Row Access Time,
>
>Once again, the Mac can't tell when the data is ready; it just waits
>the rated amount of time and latches the data then.  If the outputs
>settle 20ns early, it doesn't care.  They'll still be there until it
>gets done with them.

Amanda is right; no if's and's or but's!  There is no reason why SIMM speeds
cannot be mixed as long as they meet the maximum access time spec'ed for the
particular machine (ie, 120ns or 100ns or 80ns).  Think about it; on a given
SIMM there are EIGHT individual memory chips built from EIGHT individual
pieces of silicon (they don't even have to be from the same manufacturer, but
usually are) - those eight chips are certainly not matched down to the nearest
nanosecond in their access times.  In fact one could conceivably build a SIMM
with a mixture of 80ns,100ns,120ns parts and call it a '120ns' SIMM.

If TN176 says that SIMM speeds cannot be mixed then it is WRONG - as long as
all the SIMMs meet or exceed (are faster) the required access time spec.

I am intimately familiar with the various Mac memory interface circuits and
have built numerous other DRAM controllers, and there is NO REASON why DRAM
speeds cannot be mixed - as long as the required maximum access time is met.
Remember, whenever you have more than ONE DRAM in a circuit you are mixing
speeds!

-- 

Don North   -----   Apple Computer, Inc.   -----   Advanced Technology Group

UUCP: ...!{voder,nsc,decwrl,sun}!apple!north          CSNET: north@Apple.COM

{{ Facts are facts,  but any opinions expressed are my own,  and *do not* }}
{{ represent any viewpoint, official or otherwise, of Apple Computer, Inc.}}

 + Organization: Apple Computer, Inc.

--  
Don North - via FidoNet node 1:105/14
    UUCP: ...!{uunet!glacier, ..reed.bitnet}!busker!226!20!Don.North
INTERNET: Don.North@f20.n226.z1.FIDONET.ORG

Amanda.Walker@f20.n226.z1.FIDONET.ORG (Amanda Walker) (12/28/90)

Reply-To: amanda@visix.com

In article <47604@apple.Apple.COM> north@Apple.COM (Don North) writes:
>Amanda is right; no if's and's or but's!
>       ...
>I am intimately familiar with the various Mac memory interface circuits and
>have built numerous other DRAM controllers, and there is NO REASON why DRAM
>speeds cannot be mixed - as long as the required maximum access time is met.
>Remember, whenever you have more than ONE DRAM in a circuit you are mixing
>speeds!

Whew.  Thank you, Don.  I was beginning to wonder if I'd switched
universes some time when I wasn't looking.  Grin.

Now, if people start arguing with *you*, I may suggest starting a new
newsgroup called comp.sys.mac.folklore :)...
-- 
Amanda Walker                                                 amanda@visix.com
Visix Software Inc.                                     ...!uunet!visix!amanda
--
"I used to be disgusted; now I'm just amused."  --Elvis Costello

 + Organization: Visix Software Inc., Reston, VA

--  
Amanda Walker - via FidoNet node 1:105/14
    UUCP: ...!{uunet!glacier, ..reed.bitnet}!busker!226!20!Amanda.Walker
INTERNET: Amanda.Walker@f20.n226.z1.FIDONET.ORG