Hello,
This might come across as a strange message, but I am a college student in Maine doing my final Capstone project for my computer science degree, and I was hoping that you guys might be able to help me with some rough estimates on two custom control boards that I had an idea for. Basically, a decent amount of the research paper is just a proof of concept for a device that I had an idea for, but the chair of the computer science department wanted me to reach out and see if I could get numbers and estimates to really flesh out the paper. The first board would a data controller with 3x USB 3.1 ports and a USB C port that would connect to a second daughter board that held a NVME controller capable of holding the NVME drive in stand-by power and take as little power as possible. So that the main controller board would be run off of a wall plug, but when unplugged and the main data transfer board is shut down, would allow for the NVME board to be held in stand-by power from a large lithium-ion cell, so that it could be held in a hibernation state, but not be unpowered. I apologize I know this is a weird request, thank you so much for your time and consideration.
Hi digitalmines,
Welcome to the Tech Forum.
I’m no expert in this area, so I may not have a grasp on the details of this topic, but my first question for you is, why would you want to do this? What is the value of keeping the NVMe board in a “hibernate” state rather than just turning it off?
My understanding is that NVMe is essentially a solid-state drive flash memory “disk” controller with a PCI Express interface. Its purpose is to allow connection of an SSD or similar non-volatile flash memory device to a PCI Express bus with a standardized protocol. The controller is always embedded in the hardware sitting next to the flash memory on the SSD or similar device and does the translation between the physical flash and the upstream device, as well as perform supervisory tasks such as wear leveling. As flash memory is non-volatile, it does not require any power to maintain its memory, and therefore, you could power it down and not lose anything. So, again, what is the purpose of “hibernating” it?
I think that I may have worded this in a strange way, while NAND flash is non-volatile, from what I understand, that once completely unpowered, the standard for data retention from manufactures is only 1 year at 30 c, any temp higher can cause a loss of charge to accelerate. But I wasn’t talking about the controller that is on the NVME itself, more of a mounting board quite like a pcie to nvme board that would connect to a data transfer board. Was just truly wondering what it would cost roughly to have custom boards like this made? The purpose of keeping the ssd in hibernation, is that it remains powered, i.e will not lose charge, however draws the least amount of power to do so, I think the figures for an nvme are 0.0032w
I think you’re mistaken in thinking that maintaining power will prevent the memory from losing charge. It is not like DRAM where the data is refreshed while powered. Once the data is written to a flash cell, it will not be refreshed or rewritten again until the data value is intentionally changed. Therefore, data retention is not improved with maintaining power.
Now, if you used some power to minimize temperature rise via some active cooling mechanism, that would likely extend the memory life.
I came across a paper which talks a bit about NAND flash which you might find interesting reading here.
Well, I might have to eat crow. I will only restate my lack of expertise in this area as an excuse. After further reading, it looks like some of the more intelligent memory managers (likely including the NVMe controllers) might periodically read and re-write the flash memory cells to re-charge those cells, kind of like RAM, except probably at a million times slower rate. If not done frequently, there would theoretically be a small penalty due to more read/write cycles, but that would be a small price to pay.
If you have determined that it can perform this function using only 3.2mW, then I’ll take your word for it.
This then takes you to your question of how much it would cost to make a custom board. It would depend primarily on what components would need to be included on such a board, how complex the design is, and how many units you would intend to produce. There are a lot of fixed costs going into an initial design which can be pretty high, but which can be amortized over the full production quantity. Do you have an idea of what components would be necessary on this board? That would be a starting point.
David, unfortunately I might work I.t. but am not an electrical engineer, so all that I would know are the general functions that I would need the boards to do, and know nothing of the base components or circuit paths that would be necessary. This leaves me in an interesting predicament, and while the manufacturing of the devices would be just one offs, I am just assuming that the costs to have a company engineer and possibly write code for say bios based ROMs alone would be tens of thousands of dollars.
You are assuming correctly. Most likely many tens of thousands to do it.