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

Nor Flash Forum Discussions

Anilsp31
Level 1
5 questions asked 10 sign-ins 5 sign-ins
Level 1

S29GL064N90TFI030

Hi,

 

I am Anil Patil. I am working on the Flash driver for S29GL032N on ADSP BF534.

We are facing one issue with the Flash driver. The firmware application does not use any RTOS or OS.

 

When Flash driver is in Erase operation and status is being checked for completion, if we try to access contents of some other sectors in the Flash, it reads the status of the ongoing Erase operation. Expectation is other sectors memory locations should be able read the programmed data. Instead it reads the status of the Erase operation.

 

Is this the right behavior of the Flash. Datasheet mentions that the status will be available if the access address is for the sector being erased. But this is not correct, other sectors also reads the same ongoing operation status instead of the programmed content in that Flash memory area.

 

Could you help us solve this issue. We need to access the rest of the sectors data while operations like Erase or Write are in progress. Flash programmed data read accesses for other Sectors should not be blocked during these operations. Can this be done? If yes, how?

 

I am sharing you the schematic sections of the PCB we are using interfacing the Flash to the BF534 DSP for your easy reference.

 

Also, below is the debug data which will help you to understand the issue.

Normally when there is no Erase or Program operation going on below is the Flash content for some other sector where we have our data.

Anilsp31_0-1658151428996.png

 

 

But while Erase operation is in progress we see different data in those sectors shown below. This data is clearly the Status of the ongoing Flash operation and not what is actually programmed in Flash in those locations.

Anilsp31_1-1658151428998.png

 

 

Hope you understand the issue what is happening.

Let us know if you understood the issue or need help understand some of the above part.

 

Let us know if there is any solution for the above problem we are facing.

 

Regards,

Anil Patil

M: +91 9049810593

0 Likes
1 Solution
AlbertB_56
Moderator
Moderator 50 likes received 250 replies posted 250 sign-ins
Moderator

Hello Anil,

When erasing  any sector or group of sectors within bank-1 , programming or reading other sectors (that is/are not erasing) within bank-1 is not possible.  Likewise, when erasing any sector or group of sectors within bank-4 , programming or reading other sectors (that is/are not erasing) within bank-4 is not possible.  Therefore, in a four bank configuration, if an erase or program operation is occurring in bank-1, banks 2, 3 and 4 are available to read data.  The same can be said, that if an erase or program operation is occurring in bank-3, banks, 1, 2, and 4 are available to read data.

It is not possible to read data from a bank that has either a program or erase operation occurring within that same bank.

Hope this clarifies things.

 

Best regards,
Albert

Cypress Semiconductor Corp.

An Infineon Technologies Company

View solution in original post

0 Likes
3 Replies
AlbertB_56
Moderator
Moderator 50 likes received 250 replies posted 250 sign-ins
Moderator

Hello Anil,

Thank you for contacting Infineon Technologies.

The S29GL064N90TFI030 is not a Simultaneous READ/WRITE device.  Therefore, it is not possible to read other sectors while an embedded Sector Erase operation is currently in progress.  

Once the sector erase operation begins, only the Erase Suspend command is valid. All other commands are ignored.  However, if the Hardware Reset is initiated, the erase operation immediately terminates.  When the Embedded Erase algorithm is complete, the device returns to reading array data and addresses are no longer latched.

For Simultaneous READ/WRITE FLASH memory Products, please explore the S29JL064J.

The datasheet is attached for your reference and review.

 

Best regards,

Albert

Cypress Semiconductor Corp.

An Infineon Technologies Company

0 Likes
AlbertB_56
Moderator
Moderator 50 likes received 250 replies posted 250 sign-ins
Moderator

Hello Anil,

When erasing  any sector or group of sectors within bank-1 , programming or reading other sectors (that is/are not erasing) within bank-1 is not possible.  Likewise, when erasing any sector or group of sectors within bank-4 , programming or reading other sectors (that is/are not erasing) within bank-4 is not possible.  Therefore, in a four bank configuration, if an erase or program operation is occurring in bank-1, banks 2, 3 and 4 are available to read data.  The same can be said, that if an erase or program operation is occurring in bank-3, banks, 1, 2, and 4 are available to read data.

It is not possible to read data from a bank that has either a program or erase operation occurring within that same bank.

Hope this clarifies things.

 

Best regards,
Albert

Cypress Semiconductor Corp.

An Infineon Technologies Company

0 Likes
Anilsp31
Level 1
5 questions asked 10 sign-ins 5 sign-ins
Level 1

Hi Albert,

Thanks for your quick feedback. We have decided to go with S29JL032J60TFI01 part which has four banks. We are planning to use Bank1 for our configuration area. During Configuration write we will be accessing Banks 2, 3 and 4. So, this is not a problem as you had already pointed out. Now there is one query I have is that we were using sector lock feature using DYB feature in S29GL064N90TFI03 part. But looks like the selected S29JL032J60TFI01 part does not have any sector Lock/Unlock features for runtime protection feature. Can you please confirm on this. Can we use Sector Lock/Unlock feature some way for the new part.

 

Thanks and Regards,

Anil Patil

0 Likes