Can I lower flash power consumption by pre-flashing all values to high?
$begingroup$
I am designing an embedded system that will use either embedded flash memory or an SD card.
The system must survive without much power and the estimated 30mA draw of an SD card sounds too high for me.
My idea is to prepare the SD card before it is deployed by writing 1's to every single flash cell then formatting the card.
When being used in the application, the controller will never need to charge the flash cells with the battery, and will instead discharge them, perhaps lowering power draw further by acting as a micro power supply.
Is this reasonable, or will I not notice any power savings?
flash sd nand flash-memories nand-flash
$endgroup$
add a comment |
$begingroup$
I am designing an embedded system that will use either embedded flash memory or an SD card.
The system must survive without much power and the estimated 30mA draw of an SD card sounds too high for me.
My idea is to prepare the SD card before it is deployed by writing 1's to every single flash cell then formatting the card.
When being used in the application, the controller will never need to charge the flash cells with the battery, and will instead discharge them, perhaps lowering power draw further by acting as a micro power supply.
Is this reasonable, or will I not notice any power savings?
flash sd nand flash-memories nand-flash
$endgroup$
$begingroup$
Keep in mind that the capacitances of those cells are measured in femtofarads.
$endgroup$
– Hearth
3 hours ago
$begingroup$
Flash can only be written in one direction, changing it in the other is erasure, which is only possible for an entire block. So you do not get to choose the ready-to-write state, it is whatever the technology requires, as represented by the interface circuitry.
$endgroup$
– Chris Stratton
2 hours ago
$begingroup$
IIRC, "all-high" is how flash are generally shipped from the factory. (I don't recall if this is specific to some particular type of flash)
$endgroup$
– The Photon
2 hours ago
add a comment |
$begingroup$
I am designing an embedded system that will use either embedded flash memory or an SD card.
The system must survive without much power and the estimated 30mA draw of an SD card sounds too high for me.
My idea is to prepare the SD card before it is deployed by writing 1's to every single flash cell then formatting the card.
When being used in the application, the controller will never need to charge the flash cells with the battery, and will instead discharge them, perhaps lowering power draw further by acting as a micro power supply.
Is this reasonable, or will I not notice any power savings?
flash sd nand flash-memories nand-flash
$endgroup$
I am designing an embedded system that will use either embedded flash memory or an SD card.
The system must survive without much power and the estimated 30mA draw of an SD card sounds too high for me.
My idea is to prepare the SD card before it is deployed by writing 1's to every single flash cell then formatting the card.
When being used in the application, the controller will never need to charge the flash cells with the battery, and will instead discharge them, perhaps lowering power draw further by acting as a micro power supply.
Is this reasonable, or will I not notice any power savings?
flash sd nand flash-memories nand-flash
flash sd nand flash-memories nand-flash
asked 3 hours ago
Sina RSina R
133
133
$begingroup$
Keep in mind that the capacitances of those cells are measured in femtofarads.
$endgroup$
– Hearth
3 hours ago
$begingroup$
Flash can only be written in one direction, changing it in the other is erasure, which is only possible for an entire block. So you do not get to choose the ready-to-write state, it is whatever the technology requires, as represented by the interface circuitry.
$endgroup$
– Chris Stratton
2 hours ago
$begingroup$
IIRC, "all-high" is how flash are generally shipped from the factory. (I don't recall if this is specific to some particular type of flash)
$endgroup$
– The Photon
2 hours ago
add a comment |
$begingroup$
Keep in mind that the capacitances of those cells are measured in femtofarads.
$endgroup$
– Hearth
3 hours ago
$begingroup$
Flash can only be written in one direction, changing it in the other is erasure, which is only possible for an entire block. So you do not get to choose the ready-to-write state, it is whatever the technology requires, as represented by the interface circuitry.
$endgroup$
– Chris Stratton
2 hours ago
$begingroup$
IIRC, "all-high" is how flash are generally shipped from the factory. (I don't recall if this is specific to some particular type of flash)
$endgroup$
– The Photon
2 hours ago
$begingroup$
Keep in mind that the capacitances of those cells are measured in femtofarads.
$endgroup$
– Hearth
3 hours ago
$begingroup$
Keep in mind that the capacitances of those cells are measured in femtofarads.
$endgroup$
– Hearth
3 hours ago
$begingroup$
Flash can only be written in one direction, changing it in the other is erasure, which is only possible for an entire block. So you do not get to choose the ready-to-write state, it is whatever the technology requires, as represented by the interface circuitry.
$endgroup$
– Chris Stratton
2 hours ago
$begingroup$
Flash can only be written in one direction, changing it in the other is erasure, which is only possible for an entire block. So you do not get to choose the ready-to-write state, it is whatever the technology requires, as represented by the interface circuitry.
$endgroup$
– Chris Stratton
2 hours ago
$begingroup$
IIRC, "all-high" is how flash are generally shipped from the factory. (I don't recall if this is specific to some particular type of flash)
$endgroup$
– The Photon
2 hours ago
$begingroup$
IIRC, "all-high" is how flash are generally shipped from the factory. (I don't recall if this is specific to some particular type of flash)
$endgroup$
– The Photon
2 hours ago
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
The way to save battery when having a SD card in the system is to use a transisor or FET to switch off the DC power supply to the card connector when you are not needing to access the card for data reading or writing.
You want to keep the SD card GND intact with the MCU GND. So make sure to have the power switch turn the SD card VDD on and off.
Also to prevent excess leakage into the powered down SD card make sure to set all of the I/O pins that connect to the SD card interface to a low output level before turning off the card via the transistor or FET.
Skip any ideas that you dreamed up regarding to save power by changing the content of the flash memory to a certain default data.
$endgroup$
add a comment |
$begingroup$
When being used in the application, the controller will never need to charge the flash cells with the battery, and will instead discharge them, perhaps lowering power draw further by acting as a micro power supply. Is this reasonable, or will I not notice any power savings?
No, this is not reasonable. Flash memory is not DRAM. Its cells do not need to be recharged from a battery, nor can they be used as a power source.
The vast majority of power draw by an SD card comes from the SD controller, and from the charge pumps on the flash memory die (which are only active when writing or erasing flash). Its power consumption will drop significantly when the card is idle.
$endgroup$
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
});
});
}, "mathjax-editing");
StackExchange.ifUsing("editor", function () {
return StackExchange.using("schematics", function () {
StackExchange.schematics.init();
});
}, "cicuitlab");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "135"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f418400%2fcan-i-lower-flash-power-consumption-by-pre-flashing-all-values-to-high%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
The way to save battery when having a SD card in the system is to use a transisor or FET to switch off the DC power supply to the card connector when you are not needing to access the card for data reading or writing.
You want to keep the SD card GND intact with the MCU GND. So make sure to have the power switch turn the SD card VDD on and off.
Also to prevent excess leakage into the powered down SD card make sure to set all of the I/O pins that connect to the SD card interface to a low output level before turning off the card via the transistor or FET.
Skip any ideas that you dreamed up regarding to save power by changing the content of the flash memory to a certain default data.
$endgroup$
add a comment |
$begingroup$
The way to save battery when having a SD card in the system is to use a transisor or FET to switch off the DC power supply to the card connector when you are not needing to access the card for data reading or writing.
You want to keep the SD card GND intact with the MCU GND. So make sure to have the power switch turn the SD card VDD on and off.
Also to prevent excess leakage into the powered down SD card make sure to set all of the I/O pins that connect to the SD card interface to a low output level before turning off the card via the transistor or FET.
Skip any ideas that you dreamed up regarding to save power by changing the content of the flash memory to a certain default data.
$endgroup$
add a comment |
$begingroup$
The way to save battery when having a SD card in the system is to use a transisor or FET to switch off the DC power supply to the card connector when you are not needing to access the card for data reading or writing.
You want to keep the SD card GND intact with the MCU GND. So make sure to have the power switch turn the SD card VDD on and off.
Also to prevent excess leakage into the powered down SD card make sure to set all of the I/O pins that connect to the SD card interface to a low output level before turning off the card via the transistor or FET.
Skip any ideas that you dreamed up regarding to save power by changing the content of the flash memory to a certain default data.
$endgroup$
The way to save battery when having a SD card in the system is to use a transisor or FET to switch off the DC power supply to the card connector when you are not needing to access the card for data reading or writing.
You want to keep the SD card GND intact with the MCU GND. So make sure to have the power switch turn the SD card VDD on and off.
Also to prevent excess leakage into the powered down SD card make sure to set all of the I/O pins that connect to the SD card interface to a low output level before turning off the card via the transistor or FET.
Skip any ideas that you dreamed up regarding to save power by changing the content of the flash memory to a certain default data.
answered 3 hours ago
Michael KarasMichael Karas
42.8k34599
42.8k34599
add a comment |
add a comment |
$begingroup$
When being used in the application, the controller will never need to charge the flash cells with the battery, and will instead discharge them, perhaps lowering power draw further by acting as a micro power supply. Is this reasonable, or will I not notice any power savings?
No, this is not reasonable. Flash memory is not DRAM. Its cells do not need to be recharged from a battery, nor can they be used as a power source.
The vast majority of power draw by an SD card comes from the SD controller, and from the charge pumps on the flash memory die (which are only active when writing or erasing flash). Its power consumption will drop significantly when the card is idle.
$endgroup$
add a comment |
$begingroup$
When being used in the application, the controller will never need to charge the flash cells with the battery, and will instead discharge them, perhaps lowering power draw further by acting as a micro power supply. Is this reasonable, or will I not notice any power savings?
No, this is not reasonable. Flash memory is not DRAM. Its cells do not need to be recharged from a battery, nor can they be used as a power source.
The vast majority of power draw by an SD card comes from the SD controller, and from the charge pumps on the flash memory die (which are only active when writing or erasing flash). Its power consumption will drop significantly when the card is idle.
$endgroup$
add a comment |
$begingroup$
When being used in the application, the controller will never need to charge the flash cells with the battery, and will instead discharge them, perhaps lowering power draw further by acting as a micro power supply. Is this reasonable, or will I not notice any power savings?
No, this is not reasonable. Flash memory is not DRAM. Its cells do not need to be recharged from a battery, nor can they be used as a power source.
The vast majority of power draw by an SD card comes from the SD controller, and from the charge pumps on the flash memory die (which are only active when writing or erasing flash). Its power consumption will drop significantly when the card is idle.
$endgroup$
When being used in the application, the controller will never need to charge the flash cells with the battery, and will instead discharge them, perhaps lowering power draw further by acting as a micro power supply. Is this reasonable, or will I not notice any power savings?
No, this is not reasonable. Flash memory is not DRAM. Its cells do not need to be recharged from a battery, nor can they be used as a power source.
The vast majority of power draw by an SD card comes from the SD controller, and from the charge pumps on the flash memory die (which are only active when writing or erasing flash). Its power consumption will drop significantly when the card is idle.
answered 1 hour ago
duskwuffduskwuff
16.8k32650
16.8k32650
add a comment |
add a comment |
Thanks for contributing an answer to Electrical Engineering Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f418400%2fcan-i-lower-flash-power-consumption-by-pre-flashing-all-values-to-high%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
$begingroup$
Keep in mind that the capacitances of those cells are measured in femtofarads.
$endgroup$
– Hearth
3 hours ago
$begingroup$
Flash can only be written in one direction, changing it in the other is erasure, which is only possible for an entire block. So you do not get to choose the ready-to-write state, it is whatever the technology requires, as represented by the interface circuitry.
$endgroup$
– Chris Stratton
2 hours ago
$begingroup$
IIRC, "all-high" is how flash are generally shipped from the factory. (I don't recall if this is specific to some particular type of flash)
$endgroup$
– The Photon
2 hours ago