Secrets of SIMM Memory Modules: Answers to unasked questions (EDO_ERR Part 2/3)

  Рет қаралды 11,791

Bits und Bolts

Bits und Bolts

Күн бұрын

This is a second try to find a faulty memory chip on a 32MB EDO module.
In this video, I try several ideas that viewers have suggested in the comments of a previous video. The suggestions include taping off contact pins, heating and cooling individual memory chips, resolder memory pins, and much more.
FNIRSI HS-01 Smart Soldering Iron:
s.click.aliexpress.com/e/_oBq...
Channel Sponsor PCBWay: pcbway.com/g/lF253I
PCBWay provides full feature custom PCB prototyping services, 3D printing, and much more. Check them out using my referral link above and get a 5 USD welcome bonus when you sign up as a new customer!
You can support me on Patreon:
/ bitsundbolts
00:00 Intro
00:59 Tap off contacts
03:06 Temperature
04:48 Simulate memory errors
12:00 Mix memory sizes
16:21 Presence detect pins
17:41 FNIRSI HS-01
18:01 Cont'd presence detect pins
18:33 Resolder memory chips
18:47 Remove a single memory chip
20:30 Outro

Пікірлер: 70
@Arti9m
@Arti9m Жыл бұрын
Wall of text incoming! 1. Your yellow 16M module is essentially "double-sided", it consists of 8 8-bit chips which gives you a 64-bit module. It uses 2M 8-bit chips that have different rows and columns count, unlike 4M 4-bit chips with the same rows & columns count on the double-sided module. Late 486 and pretty much all P1 boards are able to use such chips. When you use such module as the first one, your motherboard will most probably treat all other modules in the bank like it has unequal rows & columns number too. This is why it works with 64-bit 16M module as primary and 32M as secondary: one row or column of the 32M module is ignored so you get 16M out of that one too. 2. Most motherboards ignore "presence detect" pins, even early 486 ones. 3. EDO modules work as FPM in almost every situation if you lift /OE pin from ground and connect it to /CAS (which is right next to it). If you look at timing diagrams, you will see that this way your EDO chip will match FPM timings quite closely. Also there's at least one 386 chipset that works with 30-pin EDO modules - Ali M1217. 4. Often you can determine a faulty memory line with a multimeter in diode mode. A bad line will have different voltage drop to ground/Vcc compared to working ones. 5. Another way to find a faulty pin would just to poke around with a digital scope, however not everybody has such equipment. 6. Be aware that 2/3-chip 4MB 30-pin modules will not work properly on certain 386 motherboards (with Macronix chipset, specifically), because those 4M 4-bit chips are refreshed differently compared to 4M 1-bit chips on 8/9 chips modules. If you have errors in 8-16M and 24-32M range after some time, this is a refresh issue and nothing can be done about that. 7. This problem (with unstable faulty data/address lines) is quite common with 3dfx Voodoo 1 cards, however it often happens on the GPU side, not on memory side. It almost never happens on cards which have resistors between GPU and memory. 8. I've had success with Memtest 4.10 on 386. 9. Good luck! =)
@bitsundbolts
@bitsundbolts Жыл бұрын
Thank you so much for this extensive post! 1. I did not check the chips and their configuration. I expected them to also be 4Mx4. 3. Do you have any resource where I could look this up. This sounds very interesting!
@Arti9m
@Arti9m Жыл бұрын
@@bitsundbolts The best resource would be a full datasheet for some FPM chip and some EDO chip of the same series. It is less complicated that may seem at the first glance. In short and simply put, EDO will output data (that might be invalid or mistimed) when FPM will not, but you can work around it by using /OE pin for controlling data output. It just so happens that in FPM chips data pins are active almost at the same time when /CAS is active. I know of this trick from certain russian forums, which refered to an article that was mostly citing the datasheets.
@robbiesz
@robbiesz Жыл бұрын
You could take a single chip off the working module and swap U6 out with it. then U14, then U5, then U13 and see if the 2nd pass errors persist between swaps.
@bitsundbolts
@bitsundbolts Жыл бұрын
This is what I am going to do. The next video will have the definite answer which chip it to blame!
@RetroTinkerer
@RetroTinkerer Жыл бұрын
I see Bits und Bolts on my timeline y stop looking for content and relax, thanks!
@bitsundbolts
@bitsundbolts Жыл бұрын
Thank you!
@kai990
@kai990 Жыл бұрын
This is great, exactly the kind of odd in detail videos about oldish computer hardware that i love.
@ucup33
@ucup33 Жыл бұрын
I'm in DIZZY condition after watching this video, congratulations.
@tony359
@tony359 Жыл бұрын
Nice rabbit hole! I understand the curiosity though, I am the same sometimes :) I'm curious to see the outcome!
@bitsundbolts
@bitsundbolts Жыл бұрын
Thanks for watching my video! I finally found the broken memory chip, but I will only reveal it in the next video :)
@TheOldGraff
@TheOldGraff Жыл бұрын
A lot of work has been done! Awesome!
@bitsundbolts
@bitsundbolts Жыл бұрын
Thank you!
@leonardoliveira
@leonardoliveira Жыл бұрын
Taking this hobby to the next level!
@UpLateGeek
@UpLateGeek Жыл бұрын
Yeah, theoretically EDO memory _should_ work in FPM mode, but I vaguely remember there are differences between the timing diagrams of the two, so it's possible the chips could latch the address bus before it's settled, or output the data too early and cause a bus conflict (it's been a couple of years since I researched it, so I don't remember which one is more likely). That being said, the first batch of 30-pin SIMMs that I assembled used EDO memory, and they tested fine in my memory tester, but I never went on to test them in a PC since the only machine I had at the time that used 30-pin SIMMs was a Mac SE/30, which also needed the parity chips, but I didn't have any. They were recognised as EDO in my tester, so obviously it was using the correct timings for EDO rather than FPM. I have since acquired a couple of motherboards that take 30-pin SIMMs, but I've also gotten deep into electronics projects, so all my boxes of electronic components are stacked in front of my shelves and workbench that I use to store my vintage computer parts and work on those PCs. My apartment is so tiny, I've literally only got enough room to pull out one box of parts at a time, so I can't clear enough room in front of my workbench to work on any vintage PC projects.
@felixokeefe
@felixokeefe Жыл бұрын
Yes they should work fine in fast page mode. EDO DRAM and FP DRAM are functionally identical the EDO simply has the additional EDO mode enabled by a signal Pin.
@dazamad
@dazamad Жыл бұрын
Cant wait for a follow up video. Great 👍
@KG4JYS
@KG4JYS Жыл бұрын
Enjoy your T56. That clip is for a dip8 chip. The t56 is a bit of a rabbit hole regarding buying various adapters to attach different form factors. I've spent twice the cost of the device on adapters.
@orange11squares
@orange11squares Жыл бұрын
i've got the T48. it's pretty good.
@3dfxvoodoocards6
@3dfxvoodoocards6 Жыл бұрын
Interesting video, like!
@tommuller817
@tommuller817 Жыл бұрын
Hi very nice Video ! Why don't you use a different test pattern in memtest+ ? don't use random pattern, use a sorted pattern were you can see at what addresses the error start to occur.
@bitsundbolts
@bitsundbolts Жыл бұрын
I think I miss some knowledge how to use MemTest86+ properly. Now that I know which chip is faulty (reveal in next video), I may try to work backwards. But I have spent already so much time on this topic, maybe it is time to move on.
@Ironclad17
@Ironclad17 Жыл бұрын
Admirable work
@bitsundbolts
@bitsundbolts Жыл бұрын
Thank you!
@johng.1703
@johng.1703 Жыл бұрын
if you are swapping chips, it might be easier to swap chips on the same side of the same chip, you should then get a different bit pattern for the error.
@sebastian19745
@sebastian19745 Жыл бұрын
I heard of adapters meant to use 30 pin RAM sticks in 72 pin memory slots; can be made the other way around, I guess. The EDO chips I remember that fall back in FPM mode when used in mixed configurations, at least in older 486 boards (on mine I had EDO/FPM 72 pin + 30 pin memories)
@dolphhandcreme
@dolphhandcreme Жыл бұрын
yes, you can just solder some wires to old simms or directly to the sockets and connect a 72pin module. But EDO does NOT work in FPM-boards! EDO has no fallback-mode! There are some 486-boards that can handle EDO, but not all. EDO was first widely supported at Pentium-class. FPM-only memorycontroller won't handle EDO-modules and just blackscreen/beep.
@rasz
@rasz Жыл бұрын
@@dolphhandcreme only possibility is 386/486 combo board with chipset supporting edo
@sebastian19745
@sebastian19745 Жыл бұрын
@@dolphhandcreme You are right, my bad. I remeber motherboards that only suported non-EDO (i.e. FPM) memory.
@lexatwo
@lexatwo Жыл бұрын
Hey, really nice video, keep it up man! Regarding your testing: why do you resort to the "8 slots" paradigm when mapping errors? Doing it like that means that you loose the "down to exact bit" granularity. You've got 64bits data bus with 32bits assigned to each of modules in a pair. Splitting them into mere 8 groups means that you won't be able to distinguish situations when 8 sequential bits from the memory controller POV are actually connected to either the same or to different SIMM chips. You really need to get down to actual bits instead of "8 slots" to analyze it properly. When you see an error appearing in "slot X" with error bits number being, say, 4 - it's actually a totally different error location compared to the same slot X but, say, error bit number 2. There's a complication in here (of course there is at least one, who would have thought!) - actual mapping of data bits to the data lines may be dependent on the address of the memory accessed. It comes as a consequence of a more "smart" chipsets having memory controllers doing things like interleave which may - in some cases - result in better stability and less power consumption. Results shown in the video suggest that the MB with "more logical pattern" has a memory controller and board layout running in a simpler "more dumb" mode - which is a good thing from the debugging POV you do to nail it out. If you've got an opportunity to use third MB to do the same tests - it might allow you to nail it down to the single faulty chip.
@lexatwo
@lexatwo Жыл бұрын
Regarding "two sided modules": you're assuming that chips usage in "half capacity use case" mode is isolated to the entirety of the "side" of a module. It is not necessarily a case. It could well be that half of modules are used from one side and half from another side for "half capacity" case. It is even possible in theory that all modules are used for this case with each chip being used in an "interlaced"-like manner. What you need to do is to trace chip enable and/or OE# pins from each chip down to the actual pin number out of the 72 available. It would allow you to determine which chips are being used depending on address/rasX/casX you've got going in into the module. Lastly, as for you being surprised that shorting two data pins together resulted in errors appearing in more than a "single slot" - that's the expected behavior. You are messing up with two data lines - i.e. with two bits - thus you should end up with a couple of "error bits" in testing. If those two bits happen to end up in different half-bytes - you will see it as errors in "two different slots". Also please note that your original faulty module is having troubles not with a single data line but with two data lines instead. You get data bits errors like 8 or C in one MB and like 4 and C in another meaning that you've got two bits, 4 and 8 namely, failing in the faulty module. When shorting data pins to simulate the error you've got 6 different ways to short 4 data lines (pick each distinct variant of 2 out of 4: 1-2, 1-3, 1-4, 2-3, 2-4, 3-4). It's not clear from the video if you had tried each of available variants. TL/DR is that you're on a right track but more investigations and tests are needed to track it down.
@wskinnyodden
@wskinnyodden Жыл бұрын
Because for this CPU you need at least 2 SIMMs to fill its Data BUS, on a 386DX or 486 they will work individually, Pentiums need a pair which will act as a single module.
@notgeekenough5670
@notgeekenough5670 Жыл бұрын
Awesome work! I would recommend you to test with an oscilloscope if the response of each chip is correct between them, but i dnt have (yet) the expertise to know if it will work or not. Following you every step of the journey from argentina!
@bitsundbolts
@bitsundbolts Жыл бұрын
Same here, I recently got an oscilloscope, but I have no experience with it yet.
@notgeekenough5670
@notgeekenough5670 Жыл бұрын
@@bitsundbolts mine is a hantek6022be 22mhz 48 ms/s sample rate, if yours is faster and allows you to capture (in the pc or a .jpg via usb storage) a good size of the readed signal i believe that it will provide you with a good comparison base for all chips, it's going to be tedious but... if im able to revive one of my boards i will try it and upload the info.
@Stratotank3r
@Stratotank3r Жыл бұрын
Super Video! Ich kann ungefähr nachvollziehen wie viel Zeit und Arbeit in deine Untersuchungen und die Erstellung des Videos gegangen sind. Repariere momentan ein Shuttle 386er Board wegen der ausgelaufenen Batterie und habe nach mittlerweile 10h Arbeit das Ziel in Sicht. Es fehlen aber noch ca 8 Bodgewires um die zerstörten Leiterbahnen zu ersetzen.
@bitsundbolts
@bitsundbolts Жыл бұрын
Weiterhin noch viel Erfolg! Hoffentlich funktioniert das Board wieder nach der ganzen Arbeit. Habe vor kurzem auch ein 386 Board mit ausgelaufener Batterie repariert - Video ist auf dem Kanal.
@Voidsworn
@Voidsworn Жыл бұрын
Ooh, I think I have that same Abit board. I also have a 512k SRAM module :)
@poofygoof
@poofygoof Жыл бұрын
you are lucky the error bits are consistent. Modern(ish) systems use "scrambling" where the data value written to memory is XORed or swizzled on write and read with a known value (derived from physical address in systems I am aware of) so that repeated writes of constant values over a continuous addressable block of memory doesn't cause a consistent RF transmission pattern. the ordering of the data lines does not have to match the JEDEC data pin numbering, as you discovered when moving the module between different motherboards. I bet there is also some flexibility with the address mapping as well, (to simplify trace routing,) so some motherboards may map the physical chips differently into the memory map, kind of an intra-module interleaving. I don't know if the micro-architecture specs for these old northbridges are still available, I wonder if standalone memory module testers exist which would make the process of identifying individually failed chips less time- and effort-consuming?
@leonardoliveira
@leonardoliveira Жыл бұрын
That can be turned off. I believe it is called "spread spectrum" or something like that. As you said it tries to make the electrical current flowing fuzzier by randomizing the data written and consequently the emitted noise.
@poofygoof
@poofygoof Жыл бұрын
@@leonardoliveira scrambling is a function of the memory controller, and not normally something you can tweak unless you've got BIOS / UEFI source code and the functionality isn't baked into the silicon. Spread spectrum deals with the clock, not the data lines. It adds timing jitter so instead of a solid (for example) 100MHz base timing clock, the frequency wanders around so the average is 100MHz, and any radiated energy isn't in one strong spike but "spread" into an area around 100MHz.
@Blurredman
@Blurredman Жыл бұрын
I have a TMC board which states that slot 3 is infact bank 0 and not 2. Quite confusing!
@corruptedsave482
@corruptedsave482 Жыл бұрын
Would stacking a working memory chip on top of another memory chip work? Not to double the capacity but to see if the error goes away with the chip on top of a faulty chip.
@bitsundbolts
@bitsundbolts Жыл бұрын
Interesting question. I could imagine that this solution would eliminate 50% of incorrect values. Faulty logic 0 would be overwritten by correct logic 1 from good chip. Faulty logic 1 would not be overwritten by correct logic 0.
@hgbugalou
@hgbugalou Жыл бұрын
Do you have a thermal camera? I would be interested to see the output after the second failed loop runs for a while.
@bitsundbolts
@bitsundbolts Жыл бұрын
Yes, I do have a thermal camera. I tried to detect some sort of difference in temperature, but I could not see a difference.
@RKelleyCook
@RKelleyCook Жыл бұрын
I'm flummoxed by the end segment. If the motherboard allowed only one SIMM to be populated, then it should have been running at half the speed of the paired combos. Maybe because you plugged in only one, it flipped a bios setting forcing it to do double reads which persisted to when you put it back in paired mode ??
@rasz
@rasz Жыл бұрын
two simms were plugged, author got confused about the capacity assuming only one is being used
@bitsundbolts
@bitsundbolts Жыл бұрын
I am confused about this as well. To be clear, there were always two modules installed. The test case was 16MB single sided + double sided memory module with 8 chips removed on one side. Maybe there is an explanation for this behavior, but I don't want to add more speculation at the moment.
@mateiberatco500
@mateiberatco500 Жыл бұрын
1. I don't expect 5V problems on these lines as that's the memory design, and the NB would "translate" that to 3.3V of Pentium. Those memories were made for 5V 486es, which means they output 5V. Of course, shorting to VSS or VCC would be worse than shorting 2 lines, as it would allow more current. 2. I think you could isolate the sides using RAS/CAS. I expect one side to be at RAS0/CAS0 on 72-pin and the other side at RAS1/CAS1. If you short (small resistor strongly recommended) these to VCC, you would disable one side. 3. try to find a pattern in the addresses reported by memtest. At 3:19, I see addresses ending in 20, 40, 60, a0, c0. They seem to be 32-byte multiples, so 16-bytes relevant to 1 module. Since you have 8 bytes/transactions/module, looks like a stuck A0 on 1 chip (considering the last addresses are 20, 40, 60, a0, c0, all "even", I would say a stuck at 1). Seeing it at 24MB out of 64MB (so 12MB out of 32), the chips might be actually 4 chips internally separated by 2 high address lines. 4. Something maybe against 3., as you saw between the 2 motherboards, the data lines might be scrambled (remapped), also hinting the same for the address lines. My 3. conclusion was that A0 separates consecutive addresses, but the controller could interleave RAS0+CAS0 and RAS1+CAS1. I.e.: consecutive addresses of A0+RAS0, A0+RAS1, (A0+1)+RAS0, (A0+1)+RAS1 instead of A0+RAS0, (A0+1)+RAS0,....,A0+RAS1, (A0+1)+RAS1. So my 3. conclusion could also be a RAS/CAS stuck at 1. 5. Longshot: use an oscilloscope to see the data lines on chips. You might see a pattern of good data vs. bad data. The longshot part is that this includes the writing to the chips which could hide a consistent stuck output. Edit: just realized the memory schematic. Regarding point 2, I see all 4 RAS/CAS lines are used. Since the 24/64MB location (12/32 of 1 module), I would suspect chips that use RAS1. But, MB scrambling would alter this. Either way, pulling-up 1 RAS+CAS set would present new info.
@rasz
@rasz Жыл бұрын
2. its RAS0/2 on one side and RAS1/3 on the other, all 4 CAS lines are shared. You can look up Micron MT16D832 datasheet to see diagram of very similar 32MB simm. You cant short RAS lines, they are shared between both sockets in a pair.
@mateiberatco500
@mateiberatco500 Жыл бұрын
@@rasz I meant pulling up to VCC, to disable them (override what NB want's to do). So when the NB command RAS to active low (the "/" or "-" near the signal name), the actual line to remain inactive high, keeping the chips inactive. That way writing is disabled and reading will leave data lines floating. This would result in more address failures, but you could see the new address pattern. If a resistor is not used, too much current could flow between NB and VCC. I don't know if the NB can handle 2s of direct short or 20s. Indeed this is more dangerous without a resistor than shorting 2 data lines. Corresponding CASes have to receive the same handling at the same time. PS: yes, I saw the sharing of the RAS 0/2 and 1/3 and also CAS sharing in your previous video, after I did my edit.
@rasz
@rasz Жыл бұрын
@@mateiberatco500 RAS lines are shared between slots, so if you pull one up/down you will disable all ram on this bank. 386sx board wont support EDO. "INTEL 82430HX RB.1" will give you diagram of intel reference board
@mateiberatco500
@mateiberatco500 Жыл бұрын
@@rasz But that's exactly the point. The additional error addresses should provide more insight. Like seeing odd addreses (10, 30, 50) or ending with 8 instead of 0. You should get WAY more errors. But I can't exclude a system freeze (unless memtest runs completely from cache, which might have been confirmed by the data shorting). As for 386, I doubt there is a difference between SX and DX regarding EDO. If an SX won't accept it, I doubt a DX would. As I understand, EDO should accept FPM timings, it just allows an overlap of valid data vs new RAS. And yes, I've read about 486 MBs refusing to use EDO. But I wonder if they were EDO-design chipsets with EDO disabled (due to bugs??).
@rasz
@rasz Жыл бұрын
@@mateiberatco500 there wont be any error, shorted RAS = either ram from that bank wont be detected or BIOS will fail to initialize ram and not boot. No 386 SX chipsets exist with EDO support, while there are some late DX motherboard using 486 chipsets with a chance of working with EDO.
@harvaldi
@harvaldi Жыл бұрын
If you desoldered memory chips already, try to test them in your programmer. Maybe you've get lucky.
@krzbrew
@krzbrew Жыл бұрын
Cursed memories
@phonotical
@phonotical Жыл бұрын
Was it worth it...
@peteregan9750
@peteregan9750 Жыл бұрын
just use the piggy back method
@NuffMan_
@NuffMan_ Жыл бұрын
Find a gpu with removable ram chips and you should quickly find what chip is bad
@bitsundbolts
@bitsundbolts Жыл бұрын
Good point, but from the top of my head, none of those graphic cards have sockets for those type of memory chips (at least I do not own any). But I found out which chip is faulty - next video will finally bring this topic to a conclusion.
@simplemechanics246
@simplemechanics246 Жыл бұрын
Why that madness if you have failing address? Figure out where computer land that address and you have the answer
@GunnarLoeb
@GunnarLoeb Жыл бұрын
Never touch chip pins or the modules connectors if you don't use an ESD strap.
@hgbugalou
@hgbugalou Жыл бұрын
Ehh... He is shorting datapins and desoldering chips. ESD straps are tossed aside in cowboy mode.
@GunnarLoeb
@GunnarLoeb Жыл бұрын
@@hgbugalou "wounder which chip is faulty" -> destroys other chips with static electricity
@hgbugalou
@hgbugalou Жыл бұрын
@@GunnarLoeb I have been working with computer hardware since I was about 15 and I am 41 now. I have only 1 time managed to kill something with static despite not wearing a wrist strap. And even then I am not for sure it was static. If you use common sense and don't build your PC while wearing socks on a carpet in January and do things like ground yourself frequently while working, you will be fine.
@jozsiolah1435
@jozsiolah1435 Жыл бұрын
I registered Win Me by sending a fax to my fax inbox, and sent it back to my computer. It needed 4 retries to receive a full A4 page. When succeeded, my Windows became legal. I used awafax, outlook 97 and Exchange. The computer became as stable as a Win7. This trick can be done with Dos, Win 3.x, 9x, etc. when done, the legal win will fix bad computer parts.
Identify a faulty memory chip - the manual way! (EDO_ERR Part 3/3)
10:07
How to use EDO as FPM memory - and make it work on a 386 motherboard
14:51
ЧУТЬ НЕ УТОНУЛ #shorts
00:27
Паша Осадчий
Рет қаралды 10 МЛН
What it feels like cleaning up after a toddler.
00:40
Daniel LaBelle
Рет қаралды 83 МЛН
IQ Level: 10000
00:10
Younes Zarou
Рет қаралды 4 МЛН
Fast and Furious: New Zealand 🚗
00:29
How Ridiculous
Рет қаралды 39 МЛН
Fixing my GeForce 2 MX (black screen) - after 20 years!
13:43
Bits und Bolts
Рет қаралды 12 М.
3dfx Voodoo 3 2000 - My first attempt to fix a BGA chip!
14:51
Bits und Bolts
Рет қаралды 13 М.
3Dfx Voodoo Memory Upgrade - 6MB MOD (Part 1)
17:17
Bits und Bolts
Рет қаралды 23 М.
It Failed in 2000, Has It Aged Well? The Pentium 4 1.4 GHz
17:24
PhilsComputerLab
Рет қаралды 85 М.
So many issues: Diamond Monster 3D - 3Dfx Voodoo
18:38
Bits und Bolts
Рет қаралды 14 М.
Help me find the faulty chip (EDO_ERR Part 1/3)
14:02
Bits und Bolts
Рет қаралды 6 М.
1981 CAD Monster - HP Series 200 9836C
38:49
Tech Tangents
Рет қаралды 295 М.
Voodoo 3 3333 - Custom Cooling Solution
13:34
Bits und Bolts
Рет қаралды 10 М.
Smart Sigma Kid #funny #sigma #comedy
0:40
CRAZY GREAPA
Рет қаралды 9 МЛН
Waka Waka 😁 #funnyshorts #rianashow
0:14
RianaShow
Рет қаралды 27 МЛН
Вилка для консервов 🥒
0:51
Сан Тан
Рет қаралды 3 МЛН
Приостановили веселуху😨 #симпсоны
0:59
Девушка ограбила мажора, но…😳
1:00
Trailer Film
Рет қаралды 7 МЛН