PSOC6 + Micron NAND 2Gb Flash QSPI- strange behavior with pages in ODD blocks vs EVEN blocks

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
mark_ennamorato
Level 3
Level 3
5 questions asked 25 sign-ins First like given

Im using a PSOC6 + Micron 2Gb QSPI NAND flash MTMT29F2G01xxxxxxx 8 pin device.

Micron support has been basically a black hole so thought I would ask here even though its not directly - I don't think - related to the PSOC6 QSPI...but I'm getting desperate ...

I created the NAND flash driver from some MTB NOR flash driver code with the cyhal_qspi... stuff  plus other GitHub NAND flash driver code that is really old..2011 I think but..(ok so..why didn't i just use that one?? it would have required a fair amount of re-work and essentially my driver is almost the same now anyways, in case you were wondering)

Quickie...there are 2048 blocks of 64 pages in the NAND flash.

I entirely erase the flash to FF's at the start of main()...

When I write to any page in a block with an even block number , I can read it back correctly AND when I read +/- ANY number of pages from that one, I get FF's like I should expect (since its entirely erased)

When I write to any page in a block with an odd number AND not on a N*64 boundary (eg: block# 3 page 193), I can read the page back correctly BUT when I read +/- ANY number of pages from that one, *I get the SAME values I wrote to the original page*

QSPI at 25 MHz, I have a logic analyzer that shows the traces and all timing / transactions look perfect..

Its as if the "someone" is caching the pages written to odd addresses and just giving them back to me no matter what.

But like I said if the original page is written to an even block number everything else returns FF's like it should.

Anybody have a suggestion??? Also if its not pertinent to this forum feel free to trash this I can try others.

thanks

0 Likes
1 Solution

@Hi@@Jani thanks I did use this example as my driver starting point but now I don't think this is the right forum for this problem so I will close it for now

View solution in original post

0 Likes
4 Replies
Bhamy
Moderator
Moderator
Moderator
100 replies posted 10 likes given 10 likes received

Hi @mark_ennamorato ,

It seems to be the issue is specific to this device as you mentioned the timing is correct. Did you observe the behavior with another flash device using your driver? The reason I am asking is to segregate the issue between flash device and driver.

Let me know your comments. 

Best regards

Bhamy Narasimha Shenoy

0 Likes

@Hi@@Bhamy since it's custom hardware I cannot try different flash device, but I think this is not right forum for this issue so I will close it, but thanks

0 Likes
Jani
Level 1
Level 1
First reply posted Welcome!
This code example demonstrates interfacing with an external NOR flash memory in Quad-SPI mode using the serial memory interface (SMIF) block in PSoC 6 MCU.
Missing: Micron NAND 2Gb strange ODD EVEN
0 Likes

@Hi@@Jani thanks I did use this example as my driver starting point but now I don't think this is the right forum for this problem so I will close it for now

0 Likes