Erasing upper die in S70GL02GT ?

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

cross mob
TeAl_3717091
Level 1
Level 1

Hello,

I am using the S70GL02GT in my embedded system, and I understand that this is a dual S29GL01GT package and that A26 serves as a die-select input.

I use the chip in x8 mode.

I found that the Autoselect (ID-CFI) and Read operations are exaclly the same as described in the S29GL01GT datasheet and the related LLD.

The writing operations are also the same for the first half of the memory space (first die).

I was surprised to find that I actually have to hold A26 high during the unlock procedure to write in sectors over 1024???

This is hinted at in the Continuity Check procedure (chapter 5.4.9.11 in the S29GL01GT  datasheet) but it is not explained in the datasheet as far as I can tell.

The problem is that this technique does not apply to erasing.

Sending the chip erase command only erases the lower die (sectors 0 to 1023) and sending a sector erase command only works up to sector 1023.

Sending the unlock cycles and chip erase command with A26 held high does not work (The satus register does not show busy).

Please tell me it this behaviour is intended, and whet is the correct procedure to erase sectors 1024 to 2047 in the S70GL02GT.

Thanks in advance

0 Likes
1 Solution
SudheeshK
Moderator
Moderator
Moderator
250 sign-ins First question asked 750 replies posted

Hello,

Yes, to access second die in S70GL02GT you have to set A26 signal to HIGH. You have to set A26 to HIGH while sending unlock cycles also. Please see more details in the following KBA, Accessing the Second Die in S70GL02GS – KBA219687 . It explains about accessing second die in S70GL02GS (not S70GL02GT).

I would like to get some more clarification about this issue.

Are you able to program data into the second die? Are you observing this issue only with erase operation to second die?

OR,

Both program and erase operation to second die are failing?

Please make sure that A26 is HIGH while reading status register after sending chip erase command to second die.

Thanks and Regards,

Sudheesh

View solution in original post

0 Likes
2 Replies
SudheeshK
Moderator
Moderator
Moderator
250 sign-ins First question asked 750 replies posted

Hello,

Yes, to access second die in S70GL02GT you have to set A26 signal to HIGH. You have to set A26 to HIGH while sending unlock cycles also. Please see more details in the following KBA, Accessing the Second Die in S70GL02GS – KBA219687 . It explains about accessing second die in S70GL02GS (not S70GL02GT).

I would like to get some more clarification about this issue.

Are you able to program data into the second die? Are you observing this issue only with erase operation to second die?

OR,

Both program and erase operation to second die are failing?

Please make sure that A26 is HIGH while reading status register after sending chip erase command to second die.

Thanks and Regards,

Sudheesh

0 Likes

Hello,

Thank you very much for the answer.

Yes I was able to write !

Thanks to your answer I realized that the erase command was working too, but I did not hold A26 high for the status register read.

Since the flash appeared not busy after the erase command, I assumed I was not working

I did not notice this issue with writes because they are much faster and my MCU is not very fast, so by the time I needed to write some more data, the Flash was ready already it seems.

Anyway, thnk you a lot. It is nice that the S70GL02GT datasheet refers to the much more in depth datasheet of the S29GL01GT, but I think that It should refer to the KBA219687 as well. Or at least indicate more strongly that A26 is not, in fact, considered an address bit.

You should also include a reference to this in your NOR flash FAQ (KBA222273) since my google searches brought me to that document but never the KBA219687, even though I used keywords such as "cypress" "flash" "die access".

EDIT : also I noticed that you provide unlock cyclesin x16 mode. In my experience, the command sequence in x8 mode is :

Command sequence to erase first sector in die 2: (x8 mode)

  1. Address 0x8000AAA / Data 0xAA       ; 1st unlock cycle
  2. Address 0x8000555 / Data 0x55       ; 2nd unlock cycle
  3. Address 0x8000AAA / Data 0x80       ; 1 st command cycle
  4. Address 0x8000AAA / Data 0xAA       ; 2 nd command cycle
  5. Address 0x8000555 / Data 0x55       ; 3 rd command cycle
  6. Address    SA           / Data 0x30       ; Sector Address / Sector Erase Command

Best Regards, and thanks again for the quick answer.

Alexis

0 Likes