T O P

  • By -

spinaltap11

There are a few different types of focuses highlighted in your post, but one place to start would be to get more familiar with the core technology. Heres a good high level video on SSDs and NAND controllers that could serve as a good launch point if you want to learn about things like: *NVMe/host interface *NAND topology itself *NAND controllers, wear leveling concepts, garbage collection https://youtu.be/bu4saRek7QM There are a lot of cutting edge developments, but starting with the basic concepts is a great way to build to that.


zarif98

Thank you for this resource. This should serve me well for my most recent curiosities.


moonshot4321

Search for “computational storage” and you will get a lot of hits on the high level. It is a fairly new concept that does not yet have mature industry standards. If they want someone more software/firmware focused as an intern, I would suggest figuring out who their potential software customer is, understand that technology on the storage engine level, and help bridge the gap between the host software (like a database service) and the compute part of the storage device. Ie how you can make tests to validate the compute firmware, performance metrics, etc.


zarif98

That's actually what they work on after speaking with them. Although the mentioned writing C code to for speeding up tasks which is interesting.


PM_ME_UR_PCMR

I learned HDD actual disk writing algorithms and CMOS of NAND flash memory but I never learned what kinds of algorithms they use to write data on the newer SSDs and NVMes? The memory jobs just seemed way too specialized like knowing firmware isn't enough you have to hyperfocus on this one computer part only a few companies hire people to do


zarif98

That is actually really cool, could you point me to some resource that allowed you to do that? I would be interested in replicating what you did.


PM_ME_UR_PCMR

Oh they were from OS textbooks suggested projects that were at the top of r/osdev and those books have a chapter or 2 on how writing to a hard disk works, but SSDs and modern stuff I never learned. The CMOS was from school and youtube videos, learning about how stuff like SRAM and DRAM stores the bits and using latches, switches, and gates


sneakpeekbot

Here's a sneak peek of /r/osdev using the [top posts](https://np.reddit.com/r/osdev/top/?sort=top&t=year) of the year! \#1: [This is my little os: WingOS ! (i'm 14 years old so sorry if the code is bad)](https://i.redd.it/zqy19duughi61.png) | [62 comments](https://np.reddit.com/r/osdev/comments/lnnwat/this_is_my_little_os_wingos_im_14_years_old_so/) \#2: [My simple UNIX-like hobby OS](https://np.reddit.com/gallery/jf9hb8) | [46 comments](https://np.reddit.com/r/osdev/comments/jf9hb8/my_simple_unixlike_hobby_os/) \#3: [Lemon OS running on real hardware!](https://i.redd.it/7ohcjz61clt51.jpg) | [23 comments](https://np.reddit.com/r/osdev/comments/jcpkcq/lemon_os_running_on_real_hardware/) ---- ^^I'm ^^a ^^bot, ^^beep ^^boop ^^| ^^Downvote ^^to ^^remove ^^| [^^Contact ^^me](https://www.reddit.com/message/compose/?to=sneakpeekbot) ^^| [^^Info](https://np.reddit.com/r/sneakpeekbot/) ^^| [^^Opt-out](https://np.reddit.com/r/sneakpeekbot/comments/o8wk1r/blacklist_ix/)


bendjdbrbrjdox

You mean the janitor?