Hello everyone. Thanks for writing in this session. It's about spy memory support in Linux and you but Let me introduce myself. I'm Mikael. I'm working at bootlin. We do kind of stuff training and As part of this job, I've been involved in the port of the spy memory framework in you, but That's what I'm talking about today. So this is my second talk about the MTD sub system This is pretty much how I feel now that I know all the subsystems Hopefully having such contributions like the creation of this spy memory framework will improve things But we are not there yet So this talk is about spy memories. I will start with the spy bus What has changed to support the storage over spy buses And how we do how we support it in Linux and you would and maybe getting feedback from users if there are any in this room So let's start small with the spy bus. It's for why a bus as you know, there is one chip select per device one clock and Two data lines one from the master to the slave one from the slave to the master, which means it's a full-duplex protocol It runs at 10 megahertz, which for me is really is really high And VME people will say it's incredibly slow, but for us. It's quite okay in the embedded world Spy is good, but For storage it wasn't it wasn't enough. So people starting Thinking how we can improve the throughput first solution is to increase the the clock, of course So now we can see buses running at 100 megahertz The second solution is to increase The number of your lanes data Iolines So now we know we have a dual spy quest spy and octo spy and of course you can double the rate with a Data rate mode when you sample both on the rising edge and the falling edge of the clock Of course, all of this comes with an extra cost and it's a bit more complex to handle The fact that we use dual quad or octo modes means the protocol is now half-duplex Not full-duplex anymore The number of Iolines is device specific and there is a negotiation between the Spy controller and the between the master and the slave This is the spy memory protocol. So it's made of different cycles Upcodes address cycles dummy cycles and data in or data out cycles. This is pretty standard All of this makes spy memory commands. This is the basics of An exchange with a spy memory the opcode that is at the at the beginning Will determine what's after if there is another opcode with there are Either there are address bytes, maybe dummy bytes or that I buy data data bytes and if yes, how many This is the generic part of the spy memory protocol Of course the command set are different. What's in the cycles? we know We now know about the spine and and spino Command sets might have other ones What's pretty standard here is the fact that we need to read write erase access internal registers Those there are two registers that are pretty standard actually I don't think there is a real specification around this, but for now we've only seen chips Following this so this is great. Please guys continue like this And of course vendors can add their own opcodes if they want to add some features to their chips This is an example of a read With a know it's pretty straightforward It's just one command and one opcode tree address bytes and then the data you want to read With names It's always more complicated with names You know, you can't read bytes per bytes You have to to read a page which is usually to K for case it depends So first you have to read an entire page and put it in cache During this time you will pull a status register until the operation is done and Once this is done you can actually read the data from the cache in the spine and chip So this is the theory Let's see how it's handled in Linux first Initially spy memories were handled like was supported like any of the devices with drivers in driver slash empty devices They were made of regular spy messages on spy transfers And it worked great until we appeal people Used more advanced spy controllers that can do highest outputs and optimize things So a spinal subsystem was created and to handle the spinal command set and the The spy controller drivers the advanced ones could implement the spinal interface. Okay, so this is This was the stack at this time You had spinal controller drivers Just dealing with hardware and the spinoff framework with the dealing with the No, spinoff command set Of course for regular spy controllers People wrote a specific generic driver, which is called n25p80 It's an awful name for this because it's used for much more than one single controller But it's basically translates What's given by the spinoff framework into something understandable by the spy framework? So this works great until people started adding spinoff You have to know that spy memory controller the spy controllers and those who have these advanced features Do not care about what's in the old codes There are memory agnostic. So One solution could have been to write another spinoff stack Like this one but beside But this would have duplicated a lot of code Because the underlying hardware is the same so The the solution that has been brought was to use instead of you the spy Framework was to use a spy spy memory framework a new one On top of it The spinoff framework was added pretty much like the spinoff framework and the m25p80 driver and That's our example from the beginning with a read Within a read attempt So a user tries to read an empty device from user space it goes through the empty different work and then depending on the underlying Chip it will go through the spinoff framework or spinoff framework This one will handle the common set. So we'll translate the read request into the spy memory operations and the spy memory framework will act as a thing and Check if the spy controller drivers can handle such optimized Ios there is a There is a hook which is called a supported up And if yes, we'll call the hook exact up which is implemented by this driver To send actually sends the data to the spy chip spy flash if the driver cannot handle the operation The spy memory framework will know it thanks to the support of hook and Will fall back to regular spy transfers All for Linux. So what About you boot now? Well, I've been involved in migrating the spy memory Framework and the spine and framework to you boot from Linux to you boot we needed a bit of redesign because you boot use internally its own glue about around the empty devices Yeah, we spent some time cleaning all of this and also Rewriting a bit How to handle partitions? Actually the partition work is not even mainline in Linux. I need to find some time to do it So now you have Entity devices having parents until There is no more partitions and we are on the actual entity device, which is the real physical one All this work has been merged in the RC to the last RC to Because we've been a bin late Thanks to Travis CI We had some troubles getting all the configurations work So Tom Rini accepted to merge this work a bit later than than the merge window But you it's mainline now and you can trade so This was the internal stuff in you would but from a user perspective. You need to interact with your device There were three there are three comments to do that SF or spy flash named and when none Also the empty departs command actually The question was shall we add a spine on command now? and the answer is no Because we trimmed all these internal glue to use most of the entity stack and There is no real reason to not use the abstraction of the entity layer So instead we wrote an entity command which should deprecate deprecate the three other commands at the top And it acts almost like them. There isn't help you can have a look at For people handling partitions that was a question that was asked to me a few times The empty departs command will be deprecated not the deep note the empty departs viable You can still define your partitions there because it will still be used by by Linux if you put it in the in the command line But now any time you will use the empty the command to read or write your devices It will check if the empty departs or entity ID variables have changed and if yes It will automatically update the empty departitions Before doing the real job you asked for So what's next in the future? We would like to support Direct mapping it would be a great feature to have It will even allow you to execute in place code from spine and chips by no chips. I'm sorry We should convert all the spinal controllers these controllers in the red in the red thing before It's part of the past we don't want to see them anymore And now they should be migrated to use a spy memory framework and of course try not to reproduce our Previous mistakes stay memory agnostic. Do not mix everything Just a few words about the direct mapping you can create a gym up object and It will appear like regular memory for you. You can have you can do gym up read or write on it if your controller supports it it would automatically do the the spy memory operations on the spy bus and access a spine on device by none or more device and It would be transparent for you. So now what's in the pipe for the spine or side? It was recently added the non-uniform array sizes I know some spine and controllers are being migrated like the atmail and micro micro chip one on the free-skill spine or controllers the direct mapping API of course and the M 25 p80 drivers I talked about before is being renamed to be something more generic like spy-no.c Which is much more meaningful for us? This is for spy-no for spy-no now and we have the same problematic about the MAP API, of course What's missing? the support for on flash bad block table right now we rely on the bad block markers So it would be great to have a on flash but block table like with power and man's There is an on fee page parameter page in some chips We don't read it. Maybe we could optimize some things And the ecc engine there is no generic ecc engine block right now for spy-non chips We can only use chips with on die ecc Otherwise, it will not work right now with this framework But yeah, it would be great to have it for instance to have a software ecc running on your SOC And I think support for new chips is something we are looking for so if you are already using spy-non chips please contribute that the drivers for these chips are really small and Anyway, if you're using the MT 29F driver spy-non driver, it's going to be removed anytime soon Probably in the next release. So you really should migrate to this To this new framework Yeah, that's all for me Thank you for your attention. Now if you have any question, I'd be pleased to answer them now microphone Our products. We are using some fancy nor SPI chips from expansion. They have They have two dies inside one package Yes, which is as the you would version that we are using is 2017.1 which is not supported officially Is there any plan to support those fancy configurations and newer versions of you would because there are a lot of patches around? Yeah, but none of them has been mainline Preferable that patches are from silence because there are the only vendor who support those chips in their SOCs I know when you put some work has been delayed because of internal changes We discussed a lot with a yagan we with you would spy maintainer and I Can't answer you right now. I think maybe Marik is here and can No, I don't know where he is Well, I can have an answer right now with this But you can ping maybe yagan with working as a maintainer for in this area Any other question? No, okay. Well, thank you


A ribosome is, remember, it's made in the nucleolus, in the nucleus, and it's actually made of ribosomal RNA and some other stuff. And if we were to look at an actual image of a ribosome, what, that's it right there. That is so amazing.  Okay, if you insist. I'll wind-ify that ribosome for you. Ready? An actual ribosome, totally if we knew what we were looking at, we could see it in that previous picture.  And it has special sites. It has the E site, the P site, and the A site. And I remember this as Ape. Some people remember it as the EPA. Ape works for me. Now watch. I'm going to tell you now what these stand for, even though it's going to be a little bit like, really, why do we need to know this? But this will come in handy to kind of be able to visualize what they stand for and what their purpose is when we get to the process of translation itself. Okay, A stands for arrival. Oh no, I don't know if it actually stands for arrival, but it's the arrival of the amino, amino acid. Okay, so an amino acid is going to arrive in this place. I think, I don't know if those are real words. I think it is the amino site where amino acids come. P is the peptide site. This is where peptide is another word for protein. So this is where our growing protein is going to hang out and chill. And E is the exit site. All of that is significant for the actual process. So I'm giving you some landmarks. This is like a map to understand the process when we get there. There's somebody else who's important that we don't know yet. And that is the transfer RNA molecule, also known in Windyland as the truck.


What's up everybody jason here for jazby's case breaks calm another one in the books guys here number 20. Oh, sorry 2021 Donner's optic hobby basketball four box breaks just sold out. This is number three so last four boxes of the case and Here we go So if you have a little character sign like Richard that means you got that from a team random There's everybody else right there And here we go last four Has anybody ever been to like Arthur Ash Stadium right there when they ever anybody ever been to the US Open Kind of want to go Seems like the stadium is huge.   So he's not there today. So we've been a no we've seen on the way Yeah, yeah, no, it looks awesome. I mean I like tennis a lot actually me and my wife play Just like randomly sometimes she played tennis in high school But tens is a fun sport and it's obviously very competitive Just like I thought I'm like, yeah, I would love to go to Wimbledon and all these other ones But that means we've got to travel and like it's gonna cost a lot of money, man You know, I was like at least there's one here in the US that we can go to And I assume that like when you buy a ticket to one Day you pretty much get the whole day, right? Because I mean do you have to leave your seat? I feel like I guess because there's no way they're kicking out everybody, right? In the in the stadium or in the arena and then put the new batch in I assume that like if you buy for like a ticket to Arthur Ashe, then you're there like the whole day if you want to be All right, here we go Go Arthur. I went to the the out there in the desert. I said across the street one time the over there like in What's the city called out there like makes it like Palm Springs where they have the big facility there? Luke of Garza nice little color match blue Zaire Williams Corey Casper Kevin Yang Aaron Gordon And we've got Jayden Johnson off the call Luke and Trey young Jayden sucks Rubio to 149 and Derek Rose That's just the logo But the NBA logo man, I guess the logo of like the Players Association There's been a lot of Luke of Garza in this. I know man. Not enough cake coming out Be basis loaded it where I grew up. I mean here in the beach. It's hot and we live here I mean we're here in Hermosa Beach Where my mom my mom's that right now. It's like 98 man. That's like super hot And it's supposed to be like a hundred and three a hundred degrees over there at Vegas. I could probably only imagine Vegas is yeah 108. Whoo It's crazy Even where I'm at in Long Beach. It was like 90 degrees It's still like in the 80s here man, which is still pretty hot honestly Like if we're mostly beaches in the 80s, it's hot like it's a hot day Mostly be just always in like the high 60s low 70s like all the time There's like a huge ocean breeze in this Beach City, but it's so funny because like where I'm at in Long Beach I'm not I'm only like I'm our so away from from the beach area in Long Beach, too But it's a lot different though Like it still gets pretty hot out there.  It was very nasty. I hated it I don't know how they do it out there. Oh Ben Simmons Caught the flu and the heat got a fever. Oh, yeah, that's not gonna help. We're Sean Holmes and Cody Zeller tonight Blazers yeah with that one Minga light it up Chris Milton It does make you sweat.  I I'm used to the dry heat. I rather have that I Just feel like you get suffocated with humidity. Don't you like I don't know No, I'm serious dude. It messed me up. I mean obviously the traveling that the time change I really got sick from that and I thought it was COVID at one point I was like, dude, I have like every symptom of COVID, but it's not COVID because I've been testing like for five days straight whoop Wow, this actually box had two autos. Who's one Garuba? Sorry about that guys. I got stuck at the bottom Rockets with that one 10 But um, yeah, no, it was crazy Kevin Durant. Oh, Scotty Barnes optic. Oh, there you go. Yeah. I mean, it's That's just the world we live in now, right? I mean we get every symptom of COVID We think it's COVID, but I mean we could still always just get a normal flu or cold You know ended up like when I ended up getting checked out like I did like a online e-visit with Kaiser They just said you might have a science infection That's also what you could have and they gave me some antibiotics and like in those three four days that I took them I took it for like I think four or five days straight I got cleared up right away. Like my sinuses went away and everything so I guess I did have a science infection But I was pretty bad That week I was dying when I came back Like at that point I kind of wish I had COVID because I could have just had like five days off but you know Talahorn Tucker and reigning three is a little dark. I was like I felt more sick That week after the national new york than I did when I had COVID like two years ago I was just more exhausted than I had COVID for the first time. I had it right before Uh any of the vaccine during the that December of 2020 and um I just remember I was just so fatigued and I was so tired my body aches I had massive body aches And I had a lingering cough that didn't go away for like two three months. I'm not sure it's either one pack or one box If it says pack then it's just a pack If it says box in the title, then it's a box. All right, here we go Reggie Bullock, Andrew, Jason, Tatum Isaac Acoro What's the coral part of that package yesterday? I didn't see the full package. I just no sex that was in there actually, oh Well, look at this. What is this? Yanis Anta Tecompo stargazing gold eight of 10 Nice hit right there That's Matthew with the Milwaukee Bucks Let's take that It was Laurie Sexton Abadji three unprotected furs and two pig swaps gotcha stargazing Zion I'm ready for Zion's return Guzma and Moises Moody Is your rated rookie autograph? Golden State Warriors hand All right, here we go guys Last box. So this case managed to give us a bowl Out of 10 a green out of five and a one-on-one Gold vinyl. I don't think we've hit like a crazy big rookie rated rookie autograph but but Hopefully maybe here in the last one Any moody is nice. It was an elite dominators of yokech break number one. Come on Serena get over the net All right last box mojo guys. Good luck Treyum elite dominators You got a Julio 101 and uh in uh diamond icons Shush, congrats man. Oh, there we go. Nice way to end it off. I was saying we didn't get a nice rated rookie And there we go That is an optic hollow rated rookie Jalen green Very nice for the houston rockets and han didn't sucks optic hollow rated rookie Or the rookies I should say we got eric palazzo. Come on joe again Come on joe Yeah, I'll do that for you jeremy And pollin sexton to 149 and there you go guys Then the case didn't heat up towards the end the first four were kind of like, uh But we did get a jalen green there moises moody gold star gazing scotty barn's hollow garuba ben Simmons Velocity lukegaard's at kessford and jalen slug right there. So appreciate it guys. So again, this is uh The last four boxes of the case and then um Four five and six are from a fresh case guys Let's also do the left or right here for these uh all star ones two and a four six times one two three four five six Staying with the right side the whole case was right Appreciate it guys


Watch if I annoy her enough. She makes one noise. He's gonna try to rip my hair out What happened your foot looks green in this light just letting you know she loves me blue


The Caribbean America's youth soccer classic in Fort Lauderdale, Florida has become a place for Jamaica and the Tobago to highlight their best football talents at the end of the schoolboy football season. This year, these two countries will go up against five of the best local clubs the city has to offer, including the defending champions, world-famous InterMiami and the 19s. It was nice for us to get the first class seat with the Jamaican team as they traveled from Kingston to Fort Lauderdale. A trip that was not short of delays. Pretty good, man. Yeah. Bad man up here now. After Tuesday's flight, it's a quick turnaround for the Jamaica select team with their first match later on Wednesday, so the coaching staff of Lenworth Hyde and Devon Anderson have a short training session in the morning which our producer Philip Riley decided to join. Devon Anderson, the coach of the Jamaica select, was quite happy about the travel and is looking forward to the tournament. Oh, this is the winning unit to put together and let us see later on when we go out there, you know.   The guys are very talented, very talented, we believe we can do with this. We kind of know some of my guys already, so now I try to get to know the morning cup guys and get all set with them. It's feeling, a different feeling, we know the guys are over there, I cheer me on, I hope we can do my best, and I will do my best. From game one, we have to put our stamp on it, you know, and all I aim is to get the title this year. We failed shot last year, but nevertheless, we'll come this year in order to take it home. Nothing less.


There's one thing you need to know. Carbon is too valuable to waste. Up there in the upper atmosphere, it ruins our future. Bring it down here to Earth, it gives us a future in the form of trees and bushes and crops and soils. It raises yields, it gives us resilience, it helps our food security, it reduces poverty and it solves climate change. To tackle climate change, agriculture has got to be part of the solution space. Specifically halting land degradation and restoring degraded landscapes starting by investing in the soil beneath our feet. Landscapes need to be managed for multiple purposes and water is essential for landscapes. Don't ever expect global agreements to be everything we need. At best, they can provide a framework. Landscape approaches can then help people develop their own solutions that are best for them. It's all connected.