EmbeddedRelated.com
Forums

Memory module identification

Started by Don Y August 31, 2014
Am 31.08.2014 um 22:54 schrieb Don Y:

> Is it possible to design a little <something> to query > these devices and extract the parameters -- mapping them > to a human readable form (i.e., as a peripheral to a PC)?
It's not only possible --- it's been done by several companies for well over a decade. Googling "DIMM tester" points you to some of them.
In sci.electronics.design Don Y <this@is.not.me.com> wrote:
> On 8/31/2014 3:43 PM, mroberds@att.net wrote: > >> I *think* the content of the EEPROM is fairly standardized. > > Yes, but only within a particular type of device, IIRC. I.e., RAMBUS > vs. SDRAM vs. ...
Unless you're doing really old stuff, probably all you need to care about these days is 1) SDRAM, in PC and laptop shapes and 2) whatever weird variants of SDRAM modules that Macs use. The Rambus modules can go in the recycle bin with the Itanics, Winmodems, Microchannel cards, and other bad ideas. :)
> (Printing a label to be affixed to the device would be problematic > as I have found many labels don't adhere well -- depending on the > arrangement of the devices on the DUT. Asking someone to scribble > <whatever> on the DUT prior to "storing it" would be a nightmare.)
It used to be pretty common that the modules had one or two small holes in the ends of the PC board... you could print a "dog tag" for it. Now a lot of the ones in my stock don't have those holes. If you can get the user to keep their fingers out of the way, maybe laser-etch the result on the DIMM. :)
> I was thinking of just harvesting one of each type of module connector > (or, some *other* scheme that could mate with a variety of different > devices -- module connectors tend not to have high insertion ratings!) > and installing them on a piece of phenolic with *just* the SPD pins > wired up (no desire to test the actual memory; just classify it!).
You might be able to roll your own connectors by machining a chunk of flat nylon or polycarbonate or something. Make a deep "well" for the chips on the back side to fit into, and a "ledge" where the edge connector goes. Notches on the "ledge" match the notches on the DIMM. Pogo pins in the nylon for contact... if all the pins you need are on one side of the DIMM, great, otherwise you put a nylon bar over the top with more pogo pins in there. Either continuously poll all the sockets for one that's live, or put a microswitch on the top bar... when the user presses it down, that starts the test, and tells you which socket they used.
> I'm not as worried about testing the memory as I am trying to get > devices sorted *correctly* and efficiently -- by trained monkeys.
My point was that somebody has already done the engineering on this, with sockets that work, etc. I think on most of them, the ID and test steps are separate; if all you want to do is ID, that's OK. The LCD readout on the tester might be kind of cryptic; testers exist that have a USB port to report results to a PC. The first one I found on Google still plays the 1000% obsolete "please ask for price quote" BS, so it's probably too expensive for your application. Aha... I found a distributor that quotes a bargain price of $4,450. Matt Roberds
Hi Matt,

On 9/2/2014 12:42 AM, mroberds@att.net wrote:
> In sci.electronics.design Don Y<this@is.not.me.com> wrote: >> On 8/31/2014 3:43 PM, mroberds@att.net wrote: >> >>> I *think* the content of the EEPROM is fairly standardized. >> >> Yes, but only within a particular type of device, IIRC. I.e., RAMBUS >> vs. SDRAM vs. ... > > Unless you're doing really old stuff, probably all you need to care > about these days is 1) SDRAM, in PC and laptop shapes and 2) whatever > weird variants of SDRAM modules that Macs use.
And server memory, etc. This is a non-profit that recycles/repurposes machines. E.g., send 500 of them to GodKnowsWhere (that probably doesn't even have ELECTRICITY! :< ). I.e., *anything* is better than the current "nothing". [Though I haven't seen a machine with SIMMs in quite a while!]
> The Rambus modules can go in the recycle bin with the Itanics, > Winmodems, Microchannel cards, and other bad ideas. :)
See above. The problem lies in lack of "skilled" staff -- folks who can look at memory modules, processors (chips), etc. and make an effective decision as to how it should be "processed". (i.e., you want to keep those folks busy *building* machines, not sorting/stripping them!) As with most non-profits, you take whatever help is *offered*. And, hope, on balance, they do more good than harm! Even a simple task like sorting DIMMs based on physical characteristics (dimensions, number of pins, number of memory chips, etc.) is fraught with error. Go to pull a pair of 512M PC3200's out of a *sorted* bin and, later, discover one was a 256M part. Or, registered. Or, ECC. ... After a while, you just throw up your hands!
>> (Printing a label to be affixed to the device would be problematic >> as I have found many labels don't adhere well -- depending on the >> arrangement of the devices on the DUT. Asking someone to scribble >> <whatever> on the DUT prior to "storing it" would be a nightmare.) > > It used to be pretty common that the modules had one or two small holes > in the ends of the PC board... you could print a "dog tag" for it. Now > a lot of the ones in my stock don't have those holes.
I (personally) started using the "white paint pen" many years ago to label my own SIMMs -- back when 16 "DIPs" on a 72pin module left you no room to write on the PCB. Granted, there's not much room on the back of *a* chip... but, I could write "8M" on the first device, "32b" on the second, "60ns" on the third and "EDO" on the fourth. And, still have at least 4 devices with legible part numbers if I ever had to reconsider my labeling! (I've never tried to "erase" the paint; I imagine it would come off with alcohol -- which shouldn't compromise the legends on the chips themselves!)
> If you can get the user to keep their fingers out of the way, maybe > laser-etch the result on the DIMM. :) > >> I was thinking of just harvesting one of each type of module connector >> (or, some *other* scheme that could mate with a variety of different >> devices -- module connectors tend not to have high insertion ratings!) >> and installing them on a piece of phenolic with *just* the SPD pins >> wired up (no desire to test the actual memory; just classify it!). > > You might be able to roll your own connectors by machining a chunk of > flat nylon or polycarbonate or something. Make a deep "well" for the > chips on the back side to fit into, and a "ledge" where the edge > connector goes. Notches on the "ledge" match the notches on the DIMM. > Pogo pins in the nylon for contact... if all the pins you need are on > one side of the DIMM, great, otherwise you put a nylon bar over the > top with more pogo pins in there. Either continuously poll all the > sockets for one that's live, or put a microswitch on the top bar... > when the user presses it down, that starts the test, and tells you > which socket they used.
This would be broken in a matter of weeks! Did I mention "trained monkey"? :< I thought about elastomeric connectors and similar. But, the same problem: the environment is too harsh, users too unskilled/unappreciative. I thought about trying to just build a small database that they could directly query: type in ANY number printed on a label affixed to the component. If it had been "seen" previously, tell them what type of device they have. But, this would inevitably lead to a fair bit of "data entry" work -- by someone capable of understanding the device geometries and specifications. I.e., you'd end up with a big pile of "unknown" devices awaiting that "expert's" review. <frown> [And, I sure as hell don't want myself nominated for that "expert" role! I'm at a point where I want to work on what *I* want, not what someone ELSE wants! :> ]
>> I'm not as worried about testing the memory as I am trying to get >> devices sorted *correctly* and efficiently -- by trained monkeys. > > My point was that somebody has already done the engineering on this, > with sockets that work, etc. I think on most of them, the ID and test > steps are separate; if all you want to do is ID, that's OK. The LCD > readout on the tester might be kind of cryptic; testers exist that > have a USB port to report results to a PC. The first one I found on > Google still plays the 1000% obsolete "please ask for price quote" BS, > so it's probably too expensive for your application. Aha... I found a > distributor that quotes a bargain price of $4,450.
Yeah, non-profits aren't big on spending money -- unless they ABSOLUTELY have to! E.g., want to test an LCD monitor? Set up a PC and just let it run for a few hours! Want to clone disk drives (i.e., to build several systems with identical hardware)? Add a second disk controller to a PC and run the cables out through a hole you cut in the side! Want to "bulk erase" disk drives? Set up ANOTHER PC that just fills the volume with pseudo random data. (i.e., never BUY something to do any of these things -- *better*!) Just identifying memory modules *should* be a simple project. The real issue is doing it with a device that can handle lots of abuse by *unskilled* workers (who have no incentive to do things right... they aren't being paid, can't really be fired, etc.)
On 2014-09-01, Don Y <this@is.not.me.com> wrote:
> Hi Johann, > > such a device -- and, make it reasonably fool proof. The *real* > problem seems to lie in the module connectors: most are only > rated at a handful of mating cycles (e.g., 5-25). > > While this may be plenty for a "typical application" (and, I > suspect often *exceeded* by folks!), I can't imagine hundreds > and thousands of cycles *weekly* would leave the connector's > reliability unaltered. <frown>
if the gold wears off it's no big problem you only need it to work for a few seconds after each insertion. if the contacts lose their spring that could be a problem. -- umop apisdn --- news://freenews.netfront.net/ - complaints: news@netfront.net ---
On Sun, 31 Aug 2014 13:54:27 -0700, Don Y <this@is.not.me.com> wrote:

>Hi, > >I regularly have to sort through a fair number of memory >modules (DIMMs, SO-DIMMs, etc.). All (?) of these have >serial ROMs that indicate applicable parameters for the >module. Most are cryptically marked -- at best. And, >reading part numbers off components is tedious (easier >to just discard the little beasts!) > >Is it possible to design a little <something> to query >these devices and extract the parameters -- mapping them >to a human readable form (i.e., as a peripheral to a PC)? >Is this "ID" circuitry powered independent of the rest >of the module? Or, do you, in fact, have to be able to >support every possible memory module (pinout, voltage, etc.) >*just* to gain access to this data? > >Or, are they sufficiently non-standardized (e.g., across >DIMM types) to make that effort worthless? (i.e., would >you already have had to narrow down the range of choices >sufficiently so the "software" could know how to interpret >the data that it extracts)
Of course you could just go to jedec.org and download the standards for DDR2, DDR3, and DDR4 memory modules. They will tell you what you want to know. ?-)
Hi Jasen,

On 9/2/2014 4:35 AM, Jasen Betts wrote:
> On 2014-09-01, Don Y<this@is.not.me.com> wrote: >> such a device -- and, make it reasonably fool proof. The *real* >> problem seems to lie in the module connectors: most are only >> rated at a handful of mating cycles (e.g., 5-25). >> >> While this may be plenty for a "typical application" (and, I >> suspect often *exceeded* by folks!), I can't imagine hundreds >> and thousands of cycles *weekly* would leave the connector's >> reliability unaltered.<frown> > > if the gold wears off it's no big problem you only need it to work for > a few seconds after each insertion. > > if the contacts lose their spring that could be a problem.
Yeah, but it would have to work *reliably*. The last thing you would want is folks (trained monkeys) jiggling the module(s) to get a "good" result: "SPD read error. Please jiggle module." <frown> Out of fear of getting sucked into a "growing problem", I just begged off: "Gee, sorry, but I can't help you with that..." (More interesting things to do with my time! :> )
On Tue, 02 Sep 2014 01:18:58 -0700, Don Y wrote:

> Yeah, non-profits aren't big on spending money -- unless they ABSOLUTELY > have to! E.g., want to test an LCD monitor? Set up a PC and just let > it run for a few hours! Want to clone disk drives (i.e., to build > several systems with identical hardware)? > Add a second disk controller to a PC and run the cables out through a > hole you cut in the side! Want to "bulk erase" disk drives? Set up > ANOTHER PC that just fills the volume with pseudo random data. (i.e., > never BUY something to do any of these things -- *better*!)
Actually, this is *probably* a proper mindset for running a successful business. Achieve more with less, the creed of the next seculum.
> Just identifying memory modules *should* be a simple project. The real > issue is doing it with a device that can handle lots of abuse by > *unskilled* workers (who have no incentive to do things right... they > aren't being paid, can't really be fired, etc.)
So why the fuck are they there then? If they can't be bothered to *take care* of equipment they use to perform their work? As I understand, the non-profit is fighting an uphill battle trying to muster resources for its work, but still...
On Tue, 02 Sep 2014 12:36:43 -0700, Don Y wrote:

> Out of fear of getting sucked into a "growing problem", I just begged > off: "Gee, sorry, but I can't help you with that..." > > (More interesting things to do with my time! :> )
Probably an optimal solution, taking into account that whole "trained monkeys" thing you wrote about..
Hi Aleksander,

On 9/3/2014 2:42 AM, Aleksandar Kuktin wrote:
> On Tue, 02 Sep 2014 01:18:58 -0700, Don Y wrote: > >> Yeah, non-profits aren't big on spending money -- unless they ABSOLUTELY >> have to! E.g., want to test an LCD monitor? Set up a PC and just let >> it run for a few hours! Want to clone disk drives (i.e., to build >> several systems with identical hardware)? >> Add a second disk controller to a PC and run the cables out through a >> hole you cut in the side! Want to "bulk erase" disk drives? Set up >> ANOTHER PC that just fills the volume with pseudo random data. (i.e., >> never BUY something to do any of these things -- *better*!) > > Actually, this is *probably* a proper mindset for running a successful > business. Achieve more with less, the creed of the next seculum.
This can be a false economy. E.g., why power an entire PC to exercise *one* LCD monitor? Why not "split" the signal and drive a dozen monitors from one "video source"? After all, you are just interested in putting an image on the screen so you can check for dead pixels, flakey backlights, etc.! I.e., just because you have hundreds of surplus PC's to choose from, doesn't mean that a better solution might lie elsewhere (i.e., electricity isn't free -- it costs less to drive a distribution amplifier/splitter than power an entire PC!)
>> Just identifying memory modules *should* be a simple project. The real >> issue is doing it with a device that can handle lots of abuse by >> *unskilled* workers (who have no incentive to do things right... they >> aren't being paid, can't really be fired, etc.) > > So why the fuck are they there then? If they can't be bothered to *take > care* of equipment they use to perform their work?
Because most non-profits/charities rely on VOLUNTEER labor -- people who, in effect, tell themselves: "Gee, this sounds like such a GOOD CAUSE! I would like to help..." (for the moment, ignore the fact that many of these folks are retirees -- the sorts of people with "time on their hands") But, just wanting to help doesn't mean you are *able* to help! (of course, the fallback position of "just donate money" is always possible -- but often people don't have "surplus funds" that they can devote to such use... especially "retirees"). The organization is then stuck having to decide whether to *refuse* the offered labor (deeming it "inappropriately skilled" for the tasks at hand) *or* accept it and try to find a good "fit" -- where some value can be extracted from it. Turning away volunteers has other downsides -- word gets around that you're "selective" about who can help you in your Mission. Other folks hesitate to offer *their* services -- for fear you will turn them away as well! "Oh, like you, I don't know anything about computers, either! I won't bother offering my time, there..." (Yes, but you are intimately familiar with import/export regulations so *those* skills might be useful -- if you had only taken the opportunity to *ask*!) The trick, then, becomes one of trying to find ways of lowering the skill level required for a particular activity -- so that LESS skilled folks can perform it. E.g., if you need an engineer/technician to research every DIMM/SIMM encountered, then that engineer/technician's time is "wasted" on this task instead of building/refurbishing equipment -- a skill that is much harder to "simplify". Also, it is pretty hard to come up with a list of do's/don'ts that covers even the most basic *assumptions* to which a technician/engineer wouldn't give a second thought! Static sensitive devices, removing power before inserting/removing components, making sure metal hardware isn't lying on exposed circuitry, etc. For example, one of the places I visited today had *piles*/stacks of LCD monitors organized neatly. Of course, most are now TRASH as they were all stacked with their screen faces leaning on (or, being leaned on by!) the next monitor *above*/below in the stack! "Oh! I didn't realize that was something that should be avoided..." Do you "fire" this person for the mess they've caused? Wasn't it *your* responsibility to ensure they knew EVERYTHING related to WHATEVER they were tasked with doing ON THAT DAY? Remember, you aren't paying them for their time... and, if you aren't grateful for their efforts (i.e., if, instead, you are overly critical of or dismissive in their failures), you risk them feeling unappreciated (or worse) and, possibly, this attitude being conveyed to their other friends, etc.
> As I understand, the non-profit is fighting an uphill battle trying to > muster resources for its work, but still...
Most non-profits/charities are understaffed (paid or unpaid). Here, I think the only one that has an abundance of staff (volunteers) is the food pantry. And, the tasks there are all essentially menial ones -- filling boxes with foodstuffs, keeping the floors clean, etc. So, virtually every volunteered hour can be effectively used. At the opposite extreme, I know of a group that provides free dental care. Hard to imagine them needing many people that are NOT dentists!
On Wed, 03 Sep 2014 03:31:01 -0700, Don Y wrote:

> Hi Aleksander, > > On 9/3/2014 2:42 AM, Aleksandar Kuktin wrote: >> On Tue, 02 Sep 2014 01:18:58 -0700, Don Y wrote: >> >> [snip] >> >> Actually, this is *probably* a proper mindset for running a successful >> business. Achieve more with less, the creed of the next seculum. > > This can be a false economy. E.g., why power an entire PC to exercise > *one* LCD monitor? Why not "split" the signal and drive a dozen > monitors from one "video source"? After all, you are just interested in > putting an image on the screen so you can check for dead pixels, flakey > backlights, etc.! I.e., just because you have hundreds of surplus PC's > to choose from, doesn't mean that a better solution might lie elsewhere > (i.e., electricity isn't free -- it costs less to drive a distribution > amplifier/splitter than power an entire PC!)
Hmm... correct, I guess.
> > [lot of stuff snipped] > >> As I understand, the non-profit is fighting an uphill battle trying to >> muster resources for its work, but still... > > Most non-profits/charities are understaffed (paid or unpaid). Here, > I think the only one that has an abundance of staff (volunteers) is the > food pantry. And, the tasks there are all essentially menial ones -- > filling boxes with foodstuffs, keeping the floors clean, etc. So, > virtually every volunteered hour can be effectively used. > > At the opposite extreme, I know of a group that provides free dental > care. Hard to imagine them needing many people that are NOT dentists!
Interesting problems... I probably would have still optimized the opposite way, but never mind. Evolution will take its course. We'll see if it works out or not.