EmbeddedRelated.com
Forums
Memfault Beyond the Launch

Flash memory cumulative times

Started by David McMinn June 2, 2010
Hi,

I am working on some routines to work with the information segments of
flash memory on an MSP430F249 and have a query.

I searched around before writing this and found some threads asking
about cumulative programming times (which I am happy with), have read
application notes SLAA294A and SLAA334A and the MSP430 programming best
practices but none address my question.

Is there a minimum cumulative erase time for individual segments or
blocks as there is for the mass erase?

Thanks in advance.
--
David McMinn

Beginning Microcontrollers with the MSP430

I am aware of only a maximum accumulative programming time. Never heard of minimum accumulative erase time of any kind (segment, block, or mass).

--- In m..., David McMinn wrote:
>
> Hi,
>
> I am working on some routines to work with the information segments of
> flash memory on an MSP430F249 and have a query.
>
> I searched around before writing this and found some threads asking
> about cumulative programming times (which I am happy with), have read
> application notes SLAA294A and SLAA334A and the MSP430 programming best
> practices but none address my question.
>
> Is there a minimum cumulative erase time for individual segments or
> blocks as there is for the mass erase?
>
> Thanks in advance.
> --
> David McMinn
>

Hi old_cow_yellow,

Thanks.

Perhaps it's specific to the device I'm working with, the F249, but in
the device specific datasheet it lists a value for "tCMErase Cumulative
mass erase time" which has a minimum of 200ms. The note attached to this
figure contains the sentence "To achieve the required cumulative mass
erase time the flash controllers mass erase operation can be repeated
until this time is met".

I thought there might have been something for the segment as well.

Cheers.

On 03/06/2010 07:40, old_cow_yellow wrote:
> I am aware of only a maximum accumulative programming time. Never heard of minimum accumulative erase time of any kind (segment, block, or mass).
>
> --- In m..., David McMinn wrote:
>>
>> Hi,
>>
>> I am working on some routines to work with the information segments of
>> flash memory on an MSP430F249 and have a query.
>>
>> I searched around before writing this and found some threads asking
>> about cumulative programming times (which I am happy with), have read
>> application notes SLAA294A and SLAA334A and the MSP430 programming best
>> practices but none address my question.
>>
>> Is there a minimum cumulative erase time for individual segments or
>> blocks as there is for the mass erase?
>>
>> Thanks in advance.
Take a look in slaa392 for some details to the flash mechanism.
According to this I think you can erase a segment also in several steps
until you reach the minimum time. You just move some charges to a different
position, the charges will stay inbetween the two levels when the erase
time is not enough.

M.

David McMinn :

> Hi old_cow_yellow,
>
> Thanks.
>
> Perhaps it's specific to the device I'm working with, the F249, but in
> the device specific datasheet it lists a value for "tCMErase Cumulative
> mass erase time" which has a minimum of 200ms. The note attached to this
> figure contains the sentence "To achieve the required cumulative mass
> erase time the flash controllers mass erase operation can be repeated
> until this time is met".
>
> I thought there might have been something for the segment as well.
>
> Cheers.
>
> On 03/06/2010 07:40, old_cow_yellow wrote:
>> I am aware of only a maximum accumulative programming time. Never heard
>> of minimum accumulative erase time of any kind (segment, block, or
>> mass).
>>
>> --- In m..., David McMinn wrote:
>>>
>>> Hi,
>>>
>>> I am working on some routines to work with the information segments of
>>> flash memory on an MSP430F249 and have a query.
>>>
>>> I searched around before writing this and found some threads asking
>>> about cumulative programming times (which I am happy with), have read
>>> application notes SLAA294A and SLAA334A and the MSP430 programming
>>> best practices but none address my question.
>>>
>>> Is there a minimum cumulative erase time for individual segments or
>>> blocks as there is for the mass erase?
>>>
>>> Thanks in advance.

In the data-sheet of MSP430F249, they do specify a parameter called "Cumulative mass erase time" with a min. of 20ms.

I think they should have omitted that. Or, they could have said:
min. "mass erase time" is 20ms
min. "segment erase time: is 2.4ms

--OCY

--- In m..., David McMinn wrote:
>
> Hi old_cow_yellow,
>
> Thanks.
>
> Perhaps it's specific to the device I'm working with, the F249, but in
> the device specific datasheet it lists a value for "tCMErase Cumulative
> mass erase time" which has a minimum of 200ms. The note attached to this
> figure contains the sentence "To achieve the required cumulative mass
> erase time the flash controller's mass erase operation can be repeated
> until this time is met".
>
> I thought there might have been something for the segment as well.
>
> Cheers.
>
> On 03/06/2010 07:40, old_cow_yellow wrote:
> > I am aware of only a maximum accumulative programming time. Never heard of minimum accumulative erase time of any kind (segment, block, or mass).
> >
> > --- In m..., David McMinn wrote:
> >>
> >> Hi,
> >>
> >> I am working on some routines to work with the information segments of
> >> flash memory on an MSP430F249 and have a query.
> >>
> >> I searched around before writing this and found some threads asking
> >> about cumulative programming times (which I am happy with), have read
> >> application notes SLAA294A and SLAA334A and the MSP430 programming best
> >> practices but none address my question.
> >>
> >> Is there a minimum cumulative erase time for individual segments or
> >> blocks as there is for the mass erase?
> >>
> >> Thanks in advance.
>

Hi Matthias,

Thanks for the info. I hadn't found that datasheet before but I'll read
through it and see what I can get from it.

Thanks.
David McMinn.

On 03/06/2010 16:36, Matthias Weingart wrote:
> Take a look in slaa392 for some details to the flash mechanism.
> According to this I think you can erase a segment also in several steps
> until you reach the minimum time. You just move some charges to a different
> position, the charges will stay inbetween the two levels when the erase
> time is not enough.
>
> M.
>
> David McMinn:
>
>> Hi old_cow_yellow,
>>
>> Thanks.
>>
>> Perhaps it's specific to the device I'm working with, the F249, but in
>> the device specific datasheet it lists a value for "tCMErase Cumulative
>> mass erase time" which has a minimum of 200ms. The note attached to this
>> figure contains the sentence "To achieve the required cumulative mass
>> erase time the flash controllers mass erase operation can be repeated
>> until this time is met".
>>
>> I thought there might have been something for the segment as well.
>>
>> Cheers.
>>
>> On 03/06/2010 07:40, old_cow_yellow wrote:
>>> I am aware of only a maximum accumulative programming time. Never heard
>>> of minimum accumulative erase time of any kind (segment, block, or
>>> mass).
>>>
>>> --- In m..., David McMinn wrote:
>>>>
>>>> Hi,
>>>>
>>>> I am working on some routines to work with the information segments of
>>>> flash memory on an MSP430F249 and have a query.
>>>>
>>>> I searched around before writing this and found some threads asking
>>>> about cumulative programming times (which I am happy with), have read
>>>> application notes SLAA294A and SLAA334A and the MSP430 programming
>>>> best practices but none address my question.
>>>>
>>>> Is there a minimum cumulative erase time for individual segments or
>>>> blocks as there is for the mass erase?
>>>>
>>>> Thanks in advance.
Hi old_cow_yellow,

Yes, I found it a bit strange that mass erase requires a minimum time
but the segment erase does not, which is why I asked. Perhaps that's
just me not fully understanding the physics of the flash memory
construction, or perhaps it's not needed due to all the current being
split across a lower number of cells.

Anyway, thanks for your help.
David McMinn.

On 04/06/2010 15:06, old_cow_yellow wrote:
> In the data-sheet of MSP430F249, they do specify a parameter called "Cumulative mass erase time" with a min. of 20ms.
>
> I think they should have omitted that. Or, they could have said:
> min. "mass erase time" is 20ms
> min. "segment erase time: is 2.4ms
>
> --OCY
>
> --- In m..., David McMinn wrote:
>>
>> Hi old_cow_yellow,
>>
>> Thanks.
>>
>> Perhaps it's specific to the device I'm working with, the F249, but in
>> the device specific datasheet it lists a value for "tCMErase Cumulative
>> mass erase time" which has a minimum of 200ms. The note attached to this
>> figure contains the sentence "To achieve the required cumulative mass
>> erase time the flash controller's mass erase operation can be repeated
>> until this time is met".
>>
>> I thought there might have been something for the segment as well.
>>
>> Cheers.
>>
>> On 03/06/2010 07:40, old_cow_yellow wrote:
>>> I am aware of only a maximum accumulative programming time. Never heard of minimum accumulative erase time of any kind (segment, block, or mass).
>>>
>>> --- In m..., David McMinn wrote:
>>>>
>>>> Hi,
>>>>
>>>> I am working on some routines to work with the information segments of
>>>> flash memory on an MSP430F249 and have a query.
>>>>
>>>> I searched around before writing this and found some threads asking
>>>> about cumulative programming times (which I am happy with), have read
>>>> application notes SLAA294A and SLAA334A and the MSP430 programming best
>>>> practices but none address my question.
>>>>
>>>> Is there a minimum cumulative erase time for individual segments or
>>>> blocks as there is for the mass erase?
>>>>
>>>> Thanks in advance.

Memfault Beyond the Launch