SDRAM chip  - Page 1
Forum section: electronics / general

author: Jane
author_rank: Frequent Contributor
timestamp: May 12, 2015, 06:10:01 am
content: I need to repair a Linux embedded device. The device does not boot and I suspect it is because of memory chips malfunction (SDRAM fault). That device consists of 4 SDRAM chips( each of 16 bits to get 64-bit mode). Is there any way how to checkwhichSDRAM module is faulty?Thank you for your feedback

author: JBaughb
author_rank: Regular Contributor
timestamp: May 12, 2015, 06:48:59 am
content: What makes you think the sram is faulty?

author: John_ITIC
author_rank: Frequent Contributor
timestamp: May 12, 2015, 06:56:41 am
content: If these are BGA DDR3 discrete ICs then you will have a hard time debugging this. If these are TSOP SDR SDRAMs then could possibly scope the /RAS and /CAS signals to check for the refresh cycles from the SDRAM controller. If one chip is flakey then it would simply not read back what was written and, without proper logic analyzer view, you will never be able to debug this intelligently.What remains is trial and error. Re-reflow bad BGA chips perhaps?

author: Jane
author_rank: Frequent Contributor
timestamp: May 12, 2015, 08:46:44 am
content: Thank you for your replies.@JBaughb: It has symptoms that shows SDRAM problem.@John_ITIC:QuoteSDRAM controller is a part of the CPU.Do you think that /RAS and /CAS signals should be sent all the time while SDRAM controller( CPU) is up( having voltage)?Or after some time, CPU ( SDRAM controller), not having a proper response, will stop sending /RAS and /CAS signals ?And how /RAS and /CAS signals can help? I think they can say that SDRAM controller( CPU) is OK, but not SDRAM chip. Or am I wrong?QuoteBut what is a proper logic analyzer?Thank you for help

author: nctnico
author_rank: Super Contributor
timestamp: May 12, 2015, 08:32:10 pm
content: Linux devices usually boot from flash in some form. I'd check that first before deciding it is fun to debug memory.

author: Jane
author_rank: Frequent Contributor
timestamp: May 13, 2015, 05:45:53 am
content: @nctnico: Yes, booting is from flash, but before, SDRAM is checked. If SDRAM were faulty, there is no chance to boot at all.

author: Jane
author_rank: Frequent Contributor
timestamp: May 14, 2015, 06:56:10 pm
content: Isn't any hardware expert here yet?

author: wraper
author_rank: Unknown
timestamp: May 14, 2015, 08:46:21 pm
content: Hardware expert will say that it is 100 times easier to replace the all of the RAM ICs rather to check them. But... why are you so sure about faulty RAM? That definitely would be in the bottom of the list of what I would suspect.

author: ConKbot
author_rank: Super Contributor
timestamp: May 14, 2015, 09:08:23 pm
content: If you're really sure its a RAM issue +1 to parts shotgun, replacing the ram especially if they are BGA. If they are BGA, it might be worth putting some no clean flux on each BGA and reflowing them before you scrap them, but if you have the replacements already, shotgun away.

author: Jane
author_rank: Frequent Contributor
timestamp: May 15, 2015, 07:16:08 pm
content: Thank you for the replies.The device provides output log like thisBCM74130011012K1K2K3K4K5Shmoo Version=3.8DDR Freq=0x0000018C%00000001%G=00000000 R=00000000 W=00000000 00000020K6FAs you can see it starts with CPU identification( Broadcom 7413). Then it continues with some checks( K1, K2, K3,K4,K5) and then it seems to start checking DDR. K6 seems to be the last check and then F( probably means Failure)Some googling helped me find out that it should mean DDR problem or a part linked with DDR(e.g.DDR termination regulator)Problem is that the CPU ( BCM 7413) is made by Broadcom which does not provide datasheets.Replacing DDR without the real reason( that the DDR is faulty) does not seem to me the best idea. Yes, I already reflowed BGA DDR but no success.Once again for your suggestions and feedbacks

author: Jane
author_rank: Frequent Contributor
timestamp: May 15, 2015, 08:09:05 pm
content: The given link says the same error( the reason why the device does not start) and an user tries to use the software( optiflasher) to repair the device. But the error is not caused by software but hardware

author: nctnico
author_rank: Super Contributor
timestamp: May 15, 2015, 08:38:09 pm
content: I'd start by replacing all the electrolytic caps. Those are much more likely to cause failures.

author: tom66
author_rank: Super Contributor
timestamp: May 15, 2015, 08:40:21 pm
content: Ok, shmoo is basically what the bootloader does on start up. It checks the ddr and adjusts the timing. It allows the PCB manufacturers to use a less well controlled process as the processor can adjust for small variations. Lower power as well.Now... I'm not certain, but shmoo is usually in the bootloader. Once bootloader is complete, it tries to run the kernel from main flash. Usually main kernel is in main NAND, isolated from NOR memory. So, it could be NAND problem if it does shmoo then nothing else.

author: Jane
author_rank: Frequent Contributor
timestamp: May 16, 2015, 06:40:29 am
content: Thank you for your replies.@tom66:Quote.I expect that bootloader is from CPU, not from flash (NAND). Starting code( showing shmoo and further ) is still NOT stored in flash.So, why would you expect NAND problem and not DDR?QuoteDo you mean that ,the log I posted, shows that shmoo is already completed? I thought thatthe textQuoteis only a prolog( starting) command and the ending is not given yet.QuoteAnd how to check if the bootloader is complete?Thank you for your help

author: Jane
author_rank: Frequent Contributor
timestamp: May 19, 2015, 06:19:35 pm
content: I was not still successful with the problem of booting the Linux embedded device that uses CPU BCM7413 ( by Broadcom).I receive an output log like this - which is a failure.BCM74130011012K1K2K3K4K5Shmoo Version=3.8DDR Freq=0x0000018C%00000001%G=00000000 R=00000000 W=00000000 00000020K6FWhile the successful log looks like thisBCM74130011012K1K2K3K4K5Shmoo Version=3.8DDR Freq=0x0000018C%00000001%RC1=00000005WC1=FFFFFFEARC2=00000016WC2=00000010RC3=0000000DWC3=FFFFFFEARC4=0000000DWC4=00000039NWC=00000011RC5=00000005WC5=00000011RC6=00000016WC6=00000011NRC=0000000DRW=00000012WW=00000050G=00000000 R=0000000D W=00000011BL=00000000RC1=00000005RC2=00000018BL=00000001RC1=00000005RC2=00000016BL=00000002RC1=00000003RC2=00000016BL=00000003RC1=00000001RC2=00000015BL=00000004RC1=00000004RC2=00000017BL=00000005RC1=00000006RC2=00000018BL=00000006RC1=00000003RC2=00000011BL=00000007RC1=00000007RC2=000000173COPY CODECOMPARE CODE4567Does anyone know whatall these values RC1,WC1,RC2,WC2 and others can mean? Or where can I learn more ?Thank you

author: nctnico
author_rank: Super Contributor
timestamp: May 19, 2015, 08:17:18 pm
content: This looks like a DDR memory setup sequence. My guess would be that that data has been lost causing the bootloader to fail.