Live from the Fairmont Hotel in San Jose, California it's the Cube at Big Data SV 2015. Hi everybody, welcome back to the Cube. We are live in San Jose, Big Data SV during Big Data Week. I'm Jeff Kelly with Wikibon. One of the big things we've been talking about this week is making Hadoop and Big Data consumable for the enterprise and a lot of that has to do with integrated capabilities around high availability, around security, around other things like governance. We're going to talk in this segment with a company that is actually taking some big steps in that space, WINDISCO. My guest joining me is Jagain Sundar, CTO of WINDISCO. Welcome back to the Cube, long time frequent guest. Thank you, Jeff. So as I just mentioned, making Hadoop enterprise great, making it consumable, making it safe, making it accepted in the enterprise is kind of what you guys are all about. Talk a little bit about your approach, what you guys are doing, kind of the latest and greatest around WINDISCO. Sure. As you know, availability is one of the big concerns that enterprises have when it comes to deploying Hadoop. That was the first place where we started. Then we found that customers had a slew of surrounding problems, like they needed the ability to run different types of applications on the same data, preferably managed as one cluster. So we came up with the concept of zones to support different profile applications in different sub-clusters, if you will. It's all managed as one cluster. The data is consistently replicated across both, but you can have memory intensive applications on one zone and regular batch processing applications on the other. We also found that customers were really upset with the fact that their DR clusters were mostly idle backup. That's a lot of money. So our system of active-active replication gives them the ability to use the compute resources and the storage resources on all parts of their cluster. This was a huge win for them. So this is the product that we started off with, non-stop Hadoop, and from working with customers, as you probably know, we've announced three out of the ten top financial institutions in the world have signed up for our software. We learned about some other challenges they had, namely they had different types of Hadoops and different types of storage in the same environment. We've come up with a new product. We'll go into more depth in that a little while later. We've come up with a new product that integrates these different types of storage and enables you to run Hadoop applications on this platform we called Alto Store. The ability to strongly, consistently replicate data across different types of storage placed in different parts of the world is very attractive to our customers. So you mentioned banks. Let's talk a little bit about that. I definitely want to talk a little bit more about the product announcement, but I'm curious, why do you think you're gaining some traction at some of these large banks? What's the profile of some of the workloads, some of the things they're trying to do and how that fits with your software? Right. So the first thing that you've got to remember is that banks operate in different parts of the world. The data is generated all around the world. Most analytics they want to run is an aggregation of all the data that's available. It's really not interesting to have data just from your own location analyzed. That was the first reason that they engaged with us. We gave them the ability to do strongly consistent replication across the wide area network. But once we got in there, we explained to them how our active-active setup enables them to run their entire cluster, not have half your hardware idling. And that was one big win for them. A lot of them are fully focused on keeping costs down. The due costs can really increase if you've got vast amounts of idle hardware, for example. So that was our entry point. And almost all of our conversations start with the ability to use the wide area network and lead into other interesting features that we bring to the table. Well, this is interesting because in our last segment we were talking about where's the money going to be made in big data? And one of the theories is well it's going to be made on the infrastructure side and it's going to be made on the application side. It's going to be much more difficult to make money kind of in the middle with the database and the algorithm tools, which are all necessary but are becoming commoditized and becoming open source in a lot of cases. So perhaps on the one end and the infrastructure where you play, important couple areas. One is making an enterprise grade, some of the things you talked about, high availability, being able to bring in data from across the world, and also being able to very quickly spin up new applications on that infrastructure. So it's interesting kind of how this market is playing out a little bit different than kind of the traditional world. So talk about, again, let's go back to banking for a second because another big issue is of course compliance and security. And obviously in a banking environment that's key. And you mentioned Hadoop can become expensive when you're talking about the hardware as well. And one way to alleviate that is maybe a cloud environment but the banks are never going to go to public cloud. So talk a little bit about the security and the governance issues and how you're addressing that issue in a banking environment which is obviously highly regulated. Right. So the first thing that we encountered when we started engaging with banks is that they have several countries that do not allow you to take their data outside of the country. But the analytics from this data is very relevant and allowed. So a system like ours where you can have selective replication, it's a global file system that runs across different parts of the world, but it's selectively replicated. Now what you can do is have your MapReduce or your analytics programs run in the location where the data is available and the results of that compute, you can replicate that to other parts of the world and then do your aggregate queries. This is a very valuable tool for banks that operate all around the world and keeps them in strict compliance and some of these compliance violations are very expensive. Folks in the banks are particularly careful. So we enable them in the infrastructure layer. This is not some batch processing disk CP job that has to be carefully monitored to make sure you don't copy the wrong data to the wrong place. This is done at the infrastructure level. It's guaranteed much like your file system in any operating system guarantees a certain level of compliance. So we offer capability and that's a lot more attractive than hiring an army of administrators to watch over your disk CP jobs. I think that was one reason why banks were attracted to our software. Do you find, is it a fair statement to say that concerns around governance and not falling out of compliance is holding back deployments in maybe not just banking, maybe in other sectors as well? I don't know if I'd call it holding back. I would say it's changing the focus from the traditional internet company features that were included in Hadoop to something different, something that's more interesting for not just banks, other enterprises as well. We're starting to make headway in some biotech firms and they have similar concerns. You really do want to be careful about where your data originates and where it's accessible. So I think the nature of feature additions is changing as a result of these players in the marketplace now and they work with big dollars. I mean, these are not small industry players. The features are changing. The product itself is taking on a whole new look with enhanced capabilities. So as the economics change, you said you're basically enabling to use a lot more of their hardware. It's not sitting idle on the replication. Are they taking advantage of that opportunity and putting more data in that they didn't capture before and or are they getting the application benefit to such a degree that again, it can actually finance the ability to get more of the raw data that then drives the metadata? The answer is both. They start off, of course, by pouring more data into their system because they have such fine control and much more hardware at their beck and call now. Now, once the data gets in there, folks using the data actually start getting a lot more interested. So the number of applications that's growing is very high. You have folks starting off. It's inconvenient for them to use the data because it's in a different place. It needs to be collated. But suddenly with our sort of capabilities, you can run simple hive queries that give you really quick answers. So we're finding that first, there's growth and storage because of making all of your cluster now usable. Next, there is a growth application. So got to get your opinion on some of the big news happening this week, of course. The big news everyone's talking about is the Open Data Platform, the announcement Pivotal made with some of their partners, IBM, Hortonworks, others. They're positioning it as we're going to cooperate to really accelerate adoption of Padoop. On the other side, you're saying, well, this is just another industry consortium, pay-to-play. You've got to pay it again. And really what should be all about is code. What's your take on this? Is the ODP the Open Data Platform a good thing or a bad thing for the industry, do you think? So I've known a lot of open source developers for a long time now. These are passionate folks. I mean, most of the developers I know personally value their open source contribution and their position in that community higher than the jobs that pay them their salary. It would be very interesting to see if a consortium of companies that have, I think, a sum total of two committers among all of these companies, have the ability to dictate terms to the open source developers. From my experience, I don't think that's going to happen. I think consortia can be formed. Decrees can be made, but the open source community will do what is best for the software. And it's something that they feel deeply about. I have very close friends in the open source community, and these guys really do love the work they've done and care deeply about it. So I question the viability of a consortium that can dictate terms to the open source developers. Well, I think that's one of the biggest questions for me was what is the open data platform going to be able to do if the open source community can't do? And they talked a little bit about the reason they've stated that they think that the open data platform is needed is because you're seeing some fragmentation in the Duke space. I think that's somewhat accurate, but I don't necessarily agree. I don't know, frankly, whether this is the approach that's going to solve that problem or not. But I think time will tell, and you've got to live up to their ideals and what they said they're going to focus on. So we'll see. So we're running close on time, but you mentioned you've got a new release, Altostore, which is, as you mentioned, a name that sounds a little bit familiar. So that's where you came from originally when this go making the Altostore acquisition, but now you've got a product with that. Tell us a little bit about the announcement. So Altostore is a product that came about because of our interactions with our customers. We've got this wonderful platform called non-stop Hadoop that's perfect for pure Hadoop deployments. Folks have got Hadoop in all of their big data data centers. But what we found was that there are other storage systems that bring slightly different characteristics, but still useful characteristics. One of those being EMC Isilon. We encounter that a lot in our customer sites. And it's got some interesting attributes. Then there's Amazon S3, which is always the big unknown. The desire of our customers to make full use of all of these different storage types led to the invention of Altostore. What this is is a Hadoop-compatible file system upon which you can run any Hadoop-compatible application, MapReduce, Yarn, Spark, HBase, whatever. The underlying storage is Isilon or there are distributions HDFS or Hortonworks distributions HDFS or Amazon S3. There are interesting attributes here. Now we do strongly consistent replication. So one thing you can consider doing is putting all of your data into a small part of Amazon S3. If you have a compute that requires maybe a thousand VMs, but it's run just once a week, don't have the capacity for that in your in-house data center. You're strongly replicated onto S3, spin up a thousand VMs, run it there, at the end of that shut down the VMs, most cost-effective use of resources. Or perhaps you have an application that requires very high shuffle performance, storage systems such as Isilon offer those capabilities, have a small part of your cluster built up of that type of storage. Now what we guarantee is strong consistent replication across all of those. You're not mucking with a bunch of shell scripts that run this CP and trying to keep it in consistent form. So that's AutoStore. We're seeing tremendous, and users are coming to us with different cases. They're telling us we don't have different types of Hadoops, but we do have different versions of Hadoops. We want to use your software to upgrade from one version to the other, bring down one data, the rest is still running, bring up a new version of the software, run your application, test, make sure everything is fine, then decommission the old one. We do that with one Hadoop, sorry, AutoStore as the platform, and you end up with a really easy path to migrating between versions of the software. So we're very excited about that. Is that a big pain point you've heard about is migrating from one version to the next? Indeed. It is a big pain point because it's not just the infrastructure. The applications have some level of dependencies, and then people write Hive jobs and Uzi jobs that run on top of that. So for the entire stack to be validated and upgraded is a painful process. It was a non-issue for all the years past because people are moving slowly from POC to production. Now there are a lot of large data lakes comprised of Hadoop components, and a lot of applications running on it. So you can't flip the switch on a whim. You really need to plan and upgrade between Hadoop versions, not even moving from one version of, you know, one distribution of Hadoop to the other. Just between the same vendors, distributions is a painful process. And I think that's a good illustration of the, you know, we talked about, you know, yarn last year got a lot of the attention, and now you can run a lot of different applications on your Hadoop cluster, and that's one of them. So you have to take that into consideration. I think that's one of the issues that enterprises are struggling with trying to understand how to manage this environment as the platform itself is evolving so rapidly. That's very true. The other thing that we keep encountering at customers itself, they do value both cloud era and Hortonworks as distributions, but a lot of them are making sure that their applications run well on both distributions. And I'll leave that matter to the interpretation of viewers. Absolutely. All right, well, Jigain Sundar from Wendisco. Thanks so much for joining us again on the Q. Appreciate it. Great conversation as always. Thanks everybody for watching. Stick around. We'll be right back with our next segment here live at Big Data SB.


Okay, let's continue with the last lecture of today. Okay, so the last thing I want to talk about is trying to write down a dual description of a free Dirac fermion in two plus one dimensions. Okay, so this is another way in which we can extend the previous discussion. So we have something like a two-dimensional fermion that lives in two spatial dimensions. And this is just a two-component object just to make it completely clear. And we'd like to rewrite this in different ways. And, you know, we actually know enough now to do this. So I'll talk very briefly about a Bosonic description. And then I'll talk about a different fermionic description which will actually be very useful. This fermion fermion duality, if I have time, I'll try to show you one application of that to study quantum Hall physics. Okay, so that's the plan. Before I get into that, there were a couple of questions which I want to sort of maybe mention to everyone else. So one of the questions was the following. So we have, when we did the Boson-Vortex duality, this was a Boson duality, we said that there's a connection between the total flux of the emergent gauge field, little a. The flux we said was related to the Boson density. Okay, so if you calculate the magnetic flux divided by two pi, that is simply the Boson density, which is why Vortice is in the, if I were to insert some magnetic flux in the Vortex phase, that corresponds to the Bosons. Yes, so you can also go further, that's the thing that measures how many Bosons you have. You can try to write down the operator that actually inserts a Boson. If you want to create a Boson and destroy one, what is that on the Vortex side? And of course, what you need to do, if you want to insert a Boson, you need to change the magnetic flux, the flux of this little a. And the operator that does that, of course, is a monopole operator. Okay, so that's the dictionary. And today what we're gonna do is we're gonna, or at least in this class, what we're gonna do is we're gonna develop a strategy to introduce fermions into this model. And the strategy is very similar to what we did last time in one dimension. So if you recall in one plus one D, what we did was we took a charge and we bound it, so this was like sigma z, and we attached it to a domain wall, and that composite object was just our fermion. Okay, so the analog over here is we're gonna take a charge, we're gonna take this Psydaga, the Boson creation operator, we're gonna attach it to a Vortex, and we're gonna see that this combined object is just gonna be a fermion. So the thing that you can do over here is, since you have Vortices, you can continue this process. You can also attach Vortices to the fermions, make them Bosons, so you can do the reverse. So if I start with the fermion and attach a Vortex to this, this thing will be some Bosonic field, but you can do it two times. You can take the fermion and attach it to two Vortices, and this is gonna bring it back to some new fermion, which we're gonna call the composite fermion, and this will basically underlie the two things we're gonna do. This is gonna be the fermion duality, and this is the Bose fermion duality, basically. We have these new variables, and we insist on describing all the physics in terms of these new variables. Again, depending on the situation, it can be extremely convenient to use these new variables. Of course, if you're using them in the wrong context, life is gonna be really hard, so you need some judgment, knowing exactly when certain variables are the right ones. And we'll see at least one example of that, this half-in-lander level, where it'll be clear what the right variables are. Okay, so let's first begin with this. We'd like to develop a theory to describe just a free, direct fermion. Of course, the dual description will be extremely complicated. It'll be some strongly interacting theory, but there are objects in that theory, the monopole operators or something non-local like that, which are actually gonna be free. There's some sort of hidden free description, which is not apparent when you write up in the new variables. Okay, so it's an interesting way of making connections between things that are essentially free and things that look extremely complicated. Okay, so there are a couple of references. The one I like for this part is by Karch and Tong. It's for the Boos Fermi thing. There's also a nice paper by Seiberg and others. And then for the Fermi-Fermi stuff, the one I'll follow is myself. So this was 2016, I guess, or maybe I'm 15. Okay, so we'd like to come up with a theory for this model. And one way to think about a massless direct fermion, just like we did in one dimension, is to consider a phase transition. Okay, so think of fermions that are undergoing a phase transition. And the thing that's changing across this phase transition is the topology of the ground state. Okay, so in this particular case, let me again imagine changing the sign of the mass. So if you're at mass equal to zero, you have this gapless massless direct fermion. And on either side, you have a massive direct fermion. Okay, so I add to my direct Lagrangian. I have this external electromagnetic field just to keep track of the global U1 charge. These are direct fermions. They have some global charge. So now let's say I'm in one of these gap phases. All of the excitations are gapped. I can integrate them out and I can write down an effective action, just in terms of the external electromagnetic field. Which I obtain by integrating out these fermions. And so I don't know if this is familiar to all of you. That's what you're gonna get. You're gonna get a Chern-Siemann's term for the external electromagnetic field. And the sign that accompanies this is the sign of the mass term. It's either plus or minus. And the difference between these two, the plus and the minus mass term is going to be one over four pi. If I take the difference between them. That's what I would get. Now it turns out that you never actually have just a single direct fermion. They always come in pairs in two dimensions. If this is an intrinsically two-dimensional system, direct fermions always come in pairs. So there's another direct fermion sitting somewhere else. And we have presumably gapped that out with some mass term that looks like this. So that should also have its own response. So the usual convention is to say that there's a background which I've kind of implicitly neglected, but I'll just add it in here with a particular sign. It's a way to regularize this theory if you like. It's like a polyvillage regularization of this theory. And what this does for you is it tells you that this phase transition that you have is between a theory that has a trivial response and a theory that has a response which is given by minus one over four pi. I'll use this compact notation, a wedge, dA, to represent this product of these three terms. Again, this coefficient is completely key. That's the one place where you don't want to mess up your factors of two and pi. I can't guarantee anything about my signs. My signs will be all over the place. Okay, so this is the phase diagram we want to reproduce. Okay, so just before we get into that, let me discuss the physics of having such a term in the effective action. Okay, so you all know that, okay, so when I have a Chern-Samen's term in the external electromagnetic field, we later have Chern-Samen's term in the internal gauge fields as well. But let me think about this when I apply an external field. I get a response. I want to understand what it means to have an effective action that looks like this. Okay, so of course the physical things that you measure are electrical currents. So we can figure out what the electrical current is. So if I have JMU, that is, okay. So the derivative of this effective Lagrangian with respect to the gauge potentials are the currents. Okay, so of course in a Lagrangian, you'll have this sort of minimal coupling. So if you take the derivative with respect to the vector potential, you get the currents. Okay, so you can take the derivative over here for this effective action, or if you like, over here. And of course when the derivative hits, it hits these two locations. There are two contributions, and it's a good exercise to check that they both give you the same answer. Okay, there could be some factors of minus one that come in, because you're gonna shuffle the indices around, but there's also integration by parts that comes in, and those signs cancel. They give you the same contribution. So this gives you a factor of two. Okay, so you applied an external electromagnetic field, and you discover that you get a current. Okay, so we'd like to know exactly what the relation between the current and the field is. Let me pick some particular component. Let me say I take JX. Get the current in the X direction. Okay, so then this is, yeah, I picked it to be like that. So here of course there's no term in A. Actually there's, really speaking, a Maxwell term. I didn't, yeah, I didn't actually put that in. Strictly speaking, if you work out what is the effective theory over here, you get a Maxwell term for A external. That's actually just the effective theory of any insulator. You take an insulator, or a dielectric, and you look at the effective action for the external electromagnetic field. The only thing that changes is the dielectric constant. Okay, so the Lagrangian just looks like E squared minus B squared, with some coefficients that are changed. Okay, so that's what you get over here. It just looks like a regular dielectric. But over here you get an addition to that. You get some other response, which is more singular, which is this churned simons kind of response. And you want to understand physically what does that mean? What does it mean to have an effective action that looks like this? So if I apply an external electromagnetic field, I would discover I have a current, and the strength of that current is, well, there are two terms. So there's zero and y, E zero, A y, minus D y, A zero. So this is actually just the electric field in the y direction. So D by Dt of A y is just negative of the electric field. Okay, so this is just one over two pi. Yes, if you apply an external electric field along the y direction, you discover that you get a current along the x direction. Okay, so this is just a Hall conductance. Yes, so if I give you a current along some direction, and it depends on the electric field in the opposite direction, in the perpendicular direction, sigma xy is what we have over here. We have found that sigma xy is one over two pi. Okay, so that looks like slightly strange units for conductance. You measure resistance in ohms, right? So what is one over two pi in ohms? It's not very clear. So actually that turns out because we've used these theoretical physicist units where we set the charge of the particle to one, and we set h bar equal to one. Okay, so the right way to convert this into physical units is the sigma xy is actually e squared over h bar times this number. Okay, that'll convert it into inverse ohms, and you put this together, you get e squared over h, which is the unit of Hall conductance. Yes, so this is I think one over 25,000 ohms, something like that. Yes, so this is a universal constant. It just depends electric charge. If this were electrons and the plant constant. So people measure this in the quantized Hall effect. They go and measure this at low temperatures. They find the Hall conductance that's just related to the fundamental constants. In fact, people define the fundamental constants now by this measurement. Okay, so what this is telling you is that this stuff over here is in a quantized Hall. This is an integer quantum Hall state. And this is just a trivial insulate. So if you take a material that's just a regular insulator, two-dimensional material made of let's say electrons, and then you convert it into an integer quantum Hall state. In the process, when you undergo this phase transition, at the transition point, your electrons will have the dispersion of a single Dirac cone. Yes, so this is the way we're gonna model a Dirac cone. We're going to find a different theory that will reproduce both of these phases. And then we'll conjecture that if I set the parameters in that theory right at the critical point, it's very likely it corresponds again to the single Dirac cone. And I'll have a dual description of the Dirac theorem. At least that's one strategy we can adopt. Yes, so again, I think you should note the analogy to the one-dimensional case. There we had Majorana fermions, gapless ones that occurred when I made a topological transition. The topology was different there. It had these Majorana zero modes. But nonetheless, there's a change in the topology of the fermions. At the critical point, you get some gapless fermion. And then you try to come up with a different theory that will reproduce those phases. Okay, so what is that theory? Well, previously we wrote down this vortex theory and we can ask what do we do with that third of the third theory of bosons? So if you remember, this vortex theory was a vortex field. Okay, and then we said that there was a Maxwell term as well. We write it as F squared. And of course this cannot be the right theory because of course the dual of this theory was just a bosonic theory. Okay, it didn't have fermions doing this interesting thing. But we can ask what is the minimal modification that we can do to make this into the theory that we want? Okay, sorry, there was one more term which was this BF coupling, which told me that told me that the flux of little a was carried the charge of the bosons. Okay, so the idea that we use is just like in one dimension, we're going to bind the charge to the vorticity. You're going to bind the boson charge to the vorticity. So I want to write down some term over here that's going to make sure that if I have some vortex, so if I have a vortex current, I want it to, at every point, I want it to be equal to the boson current. You want to fuse these two together so that everywhere where I have a whirl line of a vortex, I also attach to it a whirl line of the boson and that composite object will be a fermion. Okay, by those, by that logic. And then I can test whether that theory which I get from this kind of logic, I can test whether that theory is going to pre-produce these two phases for me. And if it does, then I can finally say that at the critical point, that's a dual description of the drag fermion. Okay, so that's the logic. Okay, so what's the term that will do this for me? Well, I know that in my effective action, I have a term which is the j vortex times little a. Okay, I already have that. It's sitting here in this theory. And I want to take this boson, the boson current we set, you can read it off from this. It's one over two pi. Okay, this is the boson current. Okay, so we want to do that attachment. And one way we can do the attachment is to introduce a Lagrange multiplier. When you integrate out the Lagrange multiplier, you'll get the attachment of these two. And the most convenient way to do that is to use this little a as your Lagrange multiplier. Okay, so you can try to write down something like a times Jv minus J boson. And when you do the integration over a, you just get these currents would like to be together. Okay, so this is just to motivate the theory. So you can put this in. So that would give you this term with an additional factor of a. There's a factor of four pi because I have two helpings of a. This thing is already there in the theory. So this is the additional term that I'll add. So just a churned Simon's term for little a. So it turns out that in order to get everything right, get the background contribution correct, I need to add a background term to this as well. So this is not very important, but just do that over here. It just involves the external electromagnetic field. It shifts everything by one unit. So these are the two terms I'm going to add. And I can combine them all with this term over here down the combined term. So that's the modification that I make to my previous theory. I add these two other terms. So before we actually compute the phase diagram of this model and check that it matches that one, maybe it's useful to take a step back and try to understand a little better why this churned Simon's term actually changes the statistics of your particle. So you can forget about the big a. We're just looking at some intrinsic property of this. So let's say I have this churned Simon's term, one over four pi, a wedge d a. Okay, so what you can do is you can imagine that you have a sphere. And let's say you just have one unit of flux that's piercing the sphere. It's one unit of gauge flux. Okay, so this is like a very small system. You have the magnetic flux of a, which is dx, ay, dy, ax. So we're going to integrate this over the entire sphere. This is just two pi. Let's say I have that configuration. It's like having just one monopole in the center of this sphere. So one monopole. So really this is like a charge, original Boson charge. I just integrated one Boson density. So if you have one monopole, this term is going to induce gauge charge on the surface. So remember that the gauge charge, rho is just the 0th component of, is just j zero. So this is minus dL over d little a. And if you have a term like that, this is going to be minus one over two pi. So you have exactly two pi worth of flux. So this will give you a gauge charge of minus one. So this act of putting in one monopole at the center induces gauge charge on the surface because of this chance I have instead. Now it's not a good idea to have gauge charge, unbalanced gauge charge in your system. You're always looking to have gauge neutrality. If you have a very large system, you cannot have an unscreen gauge charge. So the low energy configuration is for one particle with positive gauge charge to come and sit on the sphere. Yeah, so you basically ask for one of these bosons, these cyvortex particles to come and sit on the sphere. Cyvortex dagger, for example, neutralizes. Yeah, this is really going to be the low energy configuration of the system. So you have a particle with gauge charge that's sitting on the surface of the sphere and that's seeing the magnetic field of a monopole. No, it's, so it's all over the surface. It's spread out on the surface. Yeah, so there's no center, actually. I mean, just drawing it like that. There's just a surface and there's magnetic flux that's piercing that surface. And the chance I'm in some is such that every time there's a magnetic flux going through, it sucks in gauge charge.  Yeah, so one way to think about it is if you put in a magnetic, as you change a magnetic field, if you're trying to put in flux, you get electric fields that circulate around it just by, I guess it's Faraday's law. So you have a circulating EMF and because of the Hall current, if your electric field is tangential, you get current that's perpendicular so that's radially directed.  And you can integrate that over time and see what charge you get and that's exactly this amount. We'll also be localized, that's right. That's right, yeah. But here the magnetic field is considered to be uniformly spread on the surface of the sphere. But then you have to neutralize everything so you add this positive charge to it, positive gauge charge to it. So now you have the problem of a particle on a sphere in the field of a monopole. And I'm sure you've probably solved problems like this. So a charge plus monopole, well, for example, this combination is a fermion and you can see it, for example, by the special functions you use to describe the orbits of this particle are these monopole harmonics. They have half integer charge, they have half integer spins and those correspond to fermions as well. So this bound state of a gauge charge and a monopole will have half integer spin, which again tells you that it's a fermion. You can also just look at the particle moving around the equator. You can figure out that it has this minus one sign. There's got to be at least a pair of these states. You can't have a unique ground state. There'll be at least a pair of them which corresponds to spin a half. So anyway, that's sort of a long-winded way of saying why. This term is actually giving you, you shouldn't be surprised that you get fermions from this construction. That's maybe the point. Okay, so the last thing that we need to do is to verify that we recover the phase diagram that we had over here by taking two different limits for this theory. Okay, so for example, let's take, let me take the analyze first when this r prime is greater than zero where everything is gapped. Okay, so the vortex field is gapped. So I can simply integrate out the vortex field. And then I see that I'm left with these terms over here. I have a Maxwell term and I have this Chansamans term. Chansamans term has one fewer derivative than the Maxwell term. It's more relevant. So let me just focus on this Chansamans term. I see in this theory, I can actually absorb this external electromagnetic field into little a.  I can do the integration of a little a and there is basically no effect of this big a on the theory at long distances. Okay, so this r prime greater than zero theory is you can integrate. And essentially you don't get any Chansamans term for big a. This actually corresponds to the trivial. It's just an insulator. You probably get some Maxwell term for big a, but this is what you expect just for a regular insulator. Everything else has disappeared. And this is all you're left with. Okay, so that actually corresponds to this trivial phase. So we have solved half the problem. And now we'd like to see whether we get this whole response in the non-trivial phase. Of course, that's the more interesting thing. Can a Bosonic theory with the appropriate Chansamans term can it actually give me this whole response? Okay, so let's look at this second case, which is this r prime less than zero. So now I've got to condense my vortex field again within quotes. This is a non-local operator. And if I do that, I end up getting, and I've got to analyze this particular term.  So the low energy physics is really just the fluctuation of this phase.  That's the part of Lv that involves this vector potential. And then of course I have this Chansamans term, a wedge a minus big A wedge D. And there's also a Maxwell term. It's not going to play any role. Okay, so this is a rather different situation because over here it's actually very expensive to have a vector potential, to have any non-trivial vector potential. Okay, so if this vector potential was just the gradient of a phase, you could cancel it off by an appropriate choice of this phi v. But if I have a transverse part of this vector potential, so let me write it like that. This is essentially the part that is cannot be canceled off by that. Something that's not a pure gauge. Then this is expensive. Okay, so essentially what this system is trying to do is to expel any vector potential that's transverse. It's like a superconductor. This is like the Meissner effect. It's expelling any vector potential. So what you would like to do if you can, a quick way of analyzing this theory is to just set this transverse part of the vector potential to zero. That's what's gonna minimize this part of the action. Okay, but then you look over here. The only thing that's gonna contribute here is the transverse part of the vector potential. Of course, over here you take the curl and then you take the dot product with this. In both cases, you only get the transverse part. So essentially I'll set little a to zero over here. Okay, so the effective response is just a wedge dA. So, but that's exactly the response we wanted over here. Even the sign came out right. It's this response that we wanted. Okay, so by tuning the sign of r from r greater than zero and to r less than zero r prime, I could get both sides of the phase diagram. Okay, so then the proposed duality is that this thing without the r term, we write it as the critical theory, is equivalent to a single Dirac fermion. So this is in the low energy limit, of course. All of this is assuming some renormalization group to the infrared massless Dirac. Okay, so one of the things we kind of live off in these kind of conjectures is there are not very many fixed points. There are not many RG fixed points. So if you have two different theories that describe the same transition, they're very likely to be the same. It's hard enough to have one fixed point, one continuous transition. And so if you have two different ways of describing the transition, there should be parameter values where they're the same. When you say three dimensions, three space time. Two plus one, yeah. Yeah, you can add that if you want. Yeah, I mean, I'm thinking of this as the fixed point theory. I'm not being strictly speaking at the fixed point. If you just take the Wilson Fisher fixed point, all of those terms are actually there, right? Take it in three dimensions. So I'm thinking of a model starting with this model and flowing to the fixed point. Yeah, it's some sort of shorthand notation. It's understood that the actual fixed point is much more complicated than that. Yeah, so that was this Masonic description. So I don't actually know of an application of this yet. So in the remaining few minutes, actually how many minutes do I have? 25 minutes, wow, okay. I think you may be making some calculation mistake, but that's fine. I'm not gonna say anything. What I wanna talk about is this fermion duality to another fermionic description. And I'll describe that very briefly, because that's somewhat involved, but the idea is very simple. Another way to get fermions is to attach, to start with the theory of fermions, and attach a pair of vortices. Okay, not just one, but two vortices. So let me just tell you what the final result is. And this duality is extremely useful. It's somehow, you know, thing about fermions is that they are less strongly interacting than bosons in some sense, even at the fixed points. So you can actually make some progress with that. So there's a fermion fermion duality. Yes, you have electrons, let's say that's your fermion field. And then I will, let me just use psi. And I'm gonna go to these new variables, which are gonna be a product of two vortices. Times the fermion field. And I'm gonna call this the composite fermion. Okay, so this composite fermion is a non-local object, because it's attached itself to these non-local fermion fields. They are vortex fields. Yes, so you can kind of guess what this duality might look like. And there's some subtleties over here that I won't really have time to go into. So that's the left-hand side. This Dirac theory with this normalization where one side is trivial, let's say. And in terms of these new variables, of course, because they're non-local, they involve these vortex fields. I'm gonna have the gauge field appearing. But because there are two of these vortex fields, I'm going to have twice a mu. Okay, it couples with twice the strength. But the rest of it is the same. I have this in a coupling of one over two pi. Just add a minus sign. A wedge, the external. And that's gonna be it. Okay, so it's a free Dirac fermion is dual to, again, a Dirac fermion coupled to a gauge field with strength two, gauge charge. And the flux of that gauge field is the original U1 global charge. Okay, so there's an important caveat. I think many of you seeing this are worried about the parity anomaly. So you're taught never to write down a fermion theory like this without a minus one over eight pi times this gauge field, chance I'm in stone. Okay, so this by itself is anomalous. There are ways to fix that. I think Cyberg will talk more about that. They have a way to fix it by introducing another gauge field. We have a different way in this paper to fix it where we put this on the surface of a three-dimensional system. Okay, three plus one-dimensional system. Okay, so solve by making this a surface theory and then you forbid certain monopoles from the bulk of that system. There's a natural monopole over here which is gonna give you problems. Okay, that is really the content of this parity anomaly. If you put in the natural monopole, it gives you some half-gauge charge. So we're gonna solve this by putting this on the surface and forbidding certain monopoles. There's a formal way of doing this. You know, sync odd monopoles, one one, strength one, single monopoles. Yeah, so it turns out all these fixes, they don't really affect the basic analysis of this theory. So if you're careful and you know what you're doing, you can kind of get away with this, this kind of sick-looking theory. Yeah, so this was the duality that is extremely useful because it has these fermions on either side and you can sort of use this for various things. Yeah, so let me give you one example of what you can use it for, which is actually related to the quantum Hall effect. So it turns out that these fermions are actually closely related to what people use to describe the fractional quantum Hall effect. These are called composite fermions. They're bound states of electrons and double vortices. And pretty much the entire physics of fractional quantum Hall effect, you can understand very simply in terms of these variables. Yeah, so all of the people, everything that people see in experiments, you can basically understand from using these variables and making some simple, you know, putting them in some simple states. But because the variables are complex and, you know, non-local, those simple states in reality turn out to be rather complicated fractional quantum Hall states. Yeah, so I want to have time to describe all of that. But in some sense, the fact that this is a very stable kind of composite is what underlies a lot of the fractional quantum Hall effect. Okay, but what is new that was discovered in this duality is that it's not just a bunch of composite fermions. They also have this kind of Dirac structure. Yeah, so one thing you can do is you can ask the following question. Let me apply external magnetic fields. Okay, so you set up this A external in such a way that there's a uniform magnetic field, which is just the curl of this A external. Yeah, so that's just a situation you'd like to be in to understand, look at quantum Hall physics. So quantum Hall physics, we have this two-dimensional layer of electrons, and then you apply a magnetic field.  Yeah, so we can introduce a magnetic field by simply having the right configuration of A external. Yeah, so we pick a gauge for this A external so that the, you know, pick a form so that this curl of A external is just filled. Okay, so what does that do to my left-hand side? I just have a Dirac fermion in a magnetic field, okay? So this is a very famous problem. If I have a Dirac fermion, you can think of all the negative energy states as being filled, all the positive energy states as being empty, you put on a field. Yeah, so this is like your classic lander problem, but now for Dirac dispersion. And what you find is that, you know, you get these Landau levels, flat bands. There's one exactly at E equal to zero. And then there are, you have all of these filled. These are all empty, but you have a particle-hole symmetry over here. Half the bands are filled, half of them are empty. So you said everything in negative energy is filled, everything at positive energy is empty, but there's one exactly at zero energy. Okay, so the only way this can be particle-hole symmetric is if this is half-filled. Okay, so there's a very natural problem you can study, which is if I take this lowest Landau level, I fill it half of it with electrons. You can model that simply as taking a Dirac fermion and applying a field. And the question is what happens? So this is a highly degenerate situation. You have twice as many orbitals as electrons. Okay, so you can choose any half of these orbitals. They give you distinct states. You can make linear combinations of them. It really depends on the interactions between the electrons. We have not really specified. There should be some short-range interactions as well that have not written out explicitly. You get some state. Okay, so experimentally it's known that the state you get is actually a metallic state. Although you have a very high field, you get a metallic state. Okay, and how do you understand that? Well, you just look at the right side of this duality. This is a very easy way to understand where you get a metallic state. You now have an external magnetic field. So DA external is the B field. Okay, so what that means in the dual theory, applying a magnetic field. So the indices work out such that the magnetic field multiplies the zeroth component of A zero. So basically you have, so there's basically gate charge. You have that much background gate charge when you apply a magnetic field. Okay, so you're gonna screen this gate charge. You're gonna get the number of composite fermions. Each of them has gate charge two. So you get one half times B external over two pi. This many composite fermions that are gonna be generated to get gauge neutrality. Okay, so on the right-hand side of this duality, this half-filled lander level simply corresponds to filling up the draxy of these composite fermions up to a level where you get the end composite fermions being some fraction of the magnetic field. Okay, there's a very simple rewriting. Magnetic field on this side is chemical potential on this side. And you just fill up more of these composite fermions. Okay, so it's quite clear how you get a metal over here. You just have a finite density of these composite fermions. Yeah, so this was sort of known before. You didn't need the duality to see this. People actually explained this half-filled lander level as composite fermion, Fermi C. But what they didn't realize is that these composite fermions, they actually have a direct character. That's actually the most natural thing for these composite fermions to be. So for example, if I just look at the wave function of these composite fermions, yes, if you just look at a drake equation, you know, the Hamiltonian of a drake theory is, if I just write down the single particle Hamiltonian, it looks something like sigma z px plus sigma x py, something like that. So if I go up to this Fermi C where I filled up my composite fermions, I look at the state of the fermions. For example, you're at px equal to plus some number and px equal to minus that number. You have different values of the sigma z. Actually, let me switch this around. You have different values of this sigma x state. So in one case, the spin is that way. The other case, the spin is the opposite way. You have this kind of structure on going around the Fermi C of these direct composite fermions. So then you cannot really scatter. It's hard for this particle to scatter over there. So this is kind of related to the Klein paradox. If your spin is pointing in this direction, you encounter some impurity. The impurity doesn't flip the spin. So you don't have this process. You should have a suppression of this kind of scattering. So this was completely new. There's no reason to expect this for regular fermions. Okay, regular fermions, you'll get all kind of scatterings. And you can go and look if this happens in reality. So actually, I had a couple of slides on that. So it's not, we're not yet at the stage where we can do this in an experiment, but we can do this in a numerical experiment. Okay, where you literally simulate the system. Works, okay, amazing. Let me just back up a little bit. So this was these large-scale numerical studies. You can actually do a very good job of taking just the slowest land level, making it half full and putting in interactions and looking at the ground state of this model. It's a highly non-trivial quantum-manybody problem. It requires these large-scale numerics, density matrix renormalization group. But at the end of the day, you end up seeing something that looks like a Fermi surface. This is supposed to show you that there's some sign of this Fermi surface of these fermions forming a Fermi surface. And that itself was quite spectacular. You take electrons in a very strong magnetic field. You have no reason to expect the electrons to form a Fermi surface. Okay, they don't have a dispersion. The field is much larger than any Fermi energy they may have. Okay, but there's some other objects that don't see the magnetic field at all that kind of move in straight lines and form this Fermi surface. Okay, those are these composite fermions. And then you can ask, do you see this back scattering? Okay, this is a thing that needs to be, should be suppressed if it's really Dirac-like. And it'll be there if it's according to the old theory, which did not notice this Dirac character. Okay, so you have this Fermi surface. You have all of these points. And they look at some correlation function as a function of the transferred wave vector. And you get these kind of kinks that correspond to certain events, certain scattering events across the Fermi surface. Okay, so for example, the first kink over here, C to D on the left, that's scattering fermions from the point C to the point D. Okay, it's that scattering. And there are various scattering like that. You can also see there are two particle scatterings, A and D combined, and jump across the Fermi surface to B prime, D prime. Okay, there are others, even three fermions being scattered. But the thing that's really striking in this graph is that the most obvious scattering is not there. What's the difference between green and red? So I think there are different operators that were used to measure the scattering P2 and P5. So they have the detailed structures different, but in both cases, you have this missing peak, which is just going from, for example, C to B prime. That's just scattering across the Fermi surface, so D to A prime. Okay, those are the guys that are missing. Yeah, and similarly in this one, it's a, yes, it's a somewhat larger system. You've got all kinds of scattering, including four particle scattering. You can detect that in this. These numerics are really, really clean, but again, the most obvious one, E to A prime is missing. Okay, so this gives you, it would be mystifying to see this if you had, if you didn't understand that there was like a drag structure. Yeah. Yeah. A to B prime is allowed. So if you look at what the spin looks like, it looks, there's A to B prime. Okay, so this is scattering from here to here. So the spins have some projection on one another. It's only here that it's zero. Yeah, it's only the diametrically opposite points that are zero. Okay, anyway, so let me stop over here. That was the application of this fermion duality.


Hello and welcome to this presentation on low-power real-time clock ICs for portable and wearable devices. ST has a wide range of real-time clock ICs that address all consumer and industrial applications that need to retain date and time data. The low-power series of RTC ICs combines very low standby current consumption with miniaturization. Two key features for portable devices where long battery life and small size are crucial. The industry standard series includes class-leading RTCs for industrial, networking and automation applications. These highly integrated ICs combine a real-time clock and VRAM memory and a large set of microprocessor supervisory functions in a single chip solution. The most integrated RTC is the M41ST87W Securitizer, which includes a microprocessor supervisor and VRAM supervisor and physical temper detect feature, as well as an internal and external RAM clear function for secure applications. Today, most microcontrollers have a real-time clock already embedded. However, there are applications where a standalone RTC provides added value. Let's see how. First of all, by using a standalone RTC to keep track of time, an application consumes roughly three times less current compared to a microcontroller. This is really important, for example, in systems powered by coin cell batteries. In systems powered by lithium-ion batteries, a standalone RTC can keep time for quite a while using only a small capacitor. This is especially useful when replacing the battery. An RTC like the M41T62LC6F can be connected directly to the battery and provide all the RTC functions in the same size of the simple quarts. The M41T62LC6F is the newest low-power RTC from ST. Housed in an ultra-small package that measures only 3.2 by 1.5 mm and embeds the crystal, this RTC consumes only 350 nanoamps and operates at a very low timekeeping voltage, less than 1 volt. The device also embeds a programmable alarm with wake-up functions. Now let's see why the M41T62LC6F's features perfectly meet the requirements for portable applications. Low power consumption and small size are probably the most important features in portable applications. The M41T62LC6F provides very low current consumption and the smallest size for an RTC module. Its 1 volt timekeeping voltage allows it to be used as a backup capacitor to keep time when the primary battery, coin cell, or lithium ion is replaced. Of course, a surface mount package is a must. The M41T62LC6F is mounted in an SMT package the same size as the crystal itself. Its wide operating voltage range of 1.3 to 4.4 volts ensures compatibility with practically all kinds of batteries and chemistries, coin cells, lithium ion, and triple A. The oscillator fail feature indicates that the oscillator has either stopped or was stopped for some period of time. For example, this can happen if the VCC voltage drops below 1 volt. The oscillator fail bit is used to judge the validity of the clock and date data. Optionally, if the oscillator fail bit is set, the interrupt pin can also be activated in order to report the failure to the microcontroller. The M41T62LC6F offers the user a programmable square wave function which is output on the SQW pin. The default output frequency is 32 kilohertz, but it can be programmed down to 1 hertz. This function allows saving the low frequency crystal which is needed in many applications, especially in RF enabled portable devices. The M41T62LC6F retains tenths and hundredths of seconds. It embeds a programmable alarm with repeat modes and interrupt functions. The watchdog timer is programmable from 62.5 milliseconds to 31 minutes. The square wave output is also programmable from 1 hertz to 32 kilohertz. It powers up at 32 kilohertz and can be turned off. Alarm operation. When the clock value matches the alarm clock value based on the match criteria defined by bits RPT5 through RPT1, the alarm flag or AF is set. If the alarm flag enable bit or AFE is also set, the alarm condition activates the IRQ outpin. To disable the alarm, write 0 to the alarm date register and bits RPT5 through RPT1. Watchdog operation. The user programs the watchdog timer by setting the desired timeout in the watchdog register at address 09H. Timeout isn't determined to be the multiplication of the 5-bit multiplier value with the resolution. For example, writing 00001110 in the watchdog register equals 3 times 1 or 3 seconds. If the processor does not reset the timer within the specified period, the M41T62 sets the watchdog flag or WDF. The M41T62LC6F low-power serial real-time clock has already been successfully adopted by our customers for portable and wearable devices. It can be used in a variety of applications including wireless sensors, fitness monitors, smartwatches, tracking devices and data logging. Thank you for your attention. For further information, visit www.st.com. www.st.com.


We found that the severe acute respiratory syndrome coronavirus 2 was more prevalent in intensive care units than general wards in Wuhan hospitals, with widespread contamination on floors, computer mice, trash cans, and sick bed handrails. The virus was also detected in air approximately 4 meters from patients. This article was authored by Zhendangua, Zhongyi Wang, Shofeng Zhang, and others.


Hello and welcome to this presentation of the STM32 SDMMC controller module. It covers the main features of the controller, which is used to connect the CPU to an SD card, MMC card or an SDIO device. The SDMMC controller integrated inside STM32 products provides a communication interface allowing the microcontroller to communicate with multimedia cards, SD memory cards and SDIO devices. This interface is fully configurable, allowing the easy connection of external memories, extending mass storage capability when more memory is needed. Applications benefit from the reduced pin count required to interface with memory cards. Thanks to the SDMCC interface, applications can easily manage high-speed read and write operations in external flash memories. The SDMMC controller integrated inside STM32 products supports data bus widths of 1-bit mode, default 4-bit mode and 8-bit mode for enhanced data throughput. The SDMMC interface interconnects with the DMA to offload the CPU during data read or data write transfer periods. The SDMMC clock generator can generate signals up to 400 kHz for the initialization phase and up to 50 MHz for cards supporting high-speed mode. To enhance power consumption, the SDMMC clock can be disabled when the SDMMC command and data buses are idle. The SDMMC controller can interface with SDIO modules with advanced features like read-weight, suspend and resume operations and standard operations like multi-byte transfer and interrupt signaling in 1- and 4-bit modes. The SDMMC controller is an SDMMC bus master that provides all SD, SDIO and MMC functions needed to interface with cards. It consists of an SDMMC adapter and an APB interface. The SDMMC adapter provides functions such as clock generation, command and data transfer while the APB interface manages the control and status registers, FIFO buffers as well as DMA and interrupt requests. Two clocks are available for the SDMMC controller, the APB clock or PCLK for the APB interface and the SDMMC clock or SDMMC CLK for the SDMMC adapter. The SDMMC adapter includes a control unit that contains a power management module for power management functions and a clock control module with the clock divider for the card clock, SDMMC-CK. The clock control module provides an 8-bit prescaler for SDMMC-CK clock generation which allows it to generate a clock equal to one-half SDMMC CLK. It also provides a bypass mode for communications up to 50 MHz. The control unit can disable SDMMC-CK generation when the bus is idle. The command path circuit is used to program a command and response sequence. When enabled the command path shifts out the command index and argument on the SDMMC-CMD pin. After the last payload bit is sent a CRC-7 is computed and sent out on the bus before generating the end bit. When a response is expected the command path is configured to SDMMC-CMD-IN and waits for the device response. The transmission and reception of commands is controlled by the command path state machine or CPSM. When no command or response is in progress the command path is in idle state. When the CPSM is enabled to send a command the command path moves to send state until the last bit of the command is sent. Then depending on whether a response is expected or not the CPSM can return to idle state when no response is expected or move to wait state and wait for a start bit on a command pin start of the response transmission. When a response start bit is detected within the allocated time period the CPSM moves to receive state. After receiving the last bit of the response the CPSM verifies the response's integrity using the received CRC and then returns to idle state. The CPSM returns to idle state after a timeout if a response start is not detected. The CPSM can be configured to send a command synchronized with the end of data transfer. When this feature is enabled the CPSM moves to pending state and waits for the end of the MMC stream transfer. When the last data signal is triggered by the data path the CPSM moves to send state. The SDMMC controller offers high flexibility for configuring the command indexes and arguments. With a flexible 32-bit register for configuring arguments and an independent 6-bit field for the command index this architecture ensures that the firmware can address any type of card. The command path state machine is able to generate all command tokens with no restrictions on command index nor argument. In addition the start bit, transmitter bit, CRC and end bit fields are automatically generated and sent on the bus. A response is a token that is sent from the card as an answer to the previous command. There are two types of responses short and long. With 4 32-bit response registers and no response constraints the SDMMC interface supports both long and short responses to correctly initialize the card and communication with it. Short responses have a total length of 48 bits and are composed of a mirrored command index, 32-bit command status, start bit, stop bit and CRC7 checksum. When a short response is received the command status is saved in the SDMMC RESP1 register and the mirrored command index when available is copied to the SDMMC RESP CMD register. Long responses have a total length of 136 bits and are composed of the 120-bit CID CSD register content with the start bit, stop bit and CRC7 checksum. When received the CID CSD card register is copied to one of the four SDMMC RESPX registers. The SDMMC interface also features the automatic detection of a start bit, command index extraction, 32 or 128-bit response extraction and automatic CRC7 verification. Once the SDMMC ARG and SDMMC CMD registers are programmed with CMD index, wait RESP equals 01 or 11 and CPS men equals 1, the CPSM moves from idle to send state and the host starts driving the SDMMC CMD line to send the command to the card. If the CPSM is programmed to wait for a response, wait RESP equals 01 or 11, it enters wait state and the command timer starts running. If the card doesn't respond within the maximum NCR time, the timeout flag is set and the CPSM returns to idle state. Once a start bit is driven by a device, it is detected on the command line and the CPSM moves to receive state. When the response is fully received, the received CRC code and the internally generated checksum code are compared and the appropriate status flags are set in the SDMMC interface status register. Note that for responses without a CRC, for example in the R3 response format, the SDMMC controller generates a CCRC fail flag, which means that the command response was received but the CRC check failed. After a complete command with a response is received, the CPSM remains in idle state for at least eight SDMMC CK clock periods to meet command to command timing or NCC and response to command or NRC timing constraints. The datapath transfers data both to and from the SD-SDIO or MMC card. On each SDMMC CK clock cycle, the datapath can send one, four or eight bits depending on the bus width configuration. Transfer logic is clocked by the SDMMC CLK clock. It is divided into two subunits, one for data sent and one for data received with a dedicated control bit and status flags. The data buffer is not part of the datapath. Transmit and receive FIFO logic are mapped in the APB domain. All signals from the different subunits are resynchronized. The CRC calculator guarantees data integrity between the card and host. At the end of the data packet, the CRC is calculated automatically. Depending on the configured databath width, the datapath sends data blocks over one, SDMMC D0, four, SDMMC D0 to SDMMC D3 or eight pins, SDMMC D0 to SDMMC D7. First, a start bit is generated on the bus followed by the data packet with the first to last bytes of the sequence, fourth byte in our example. Then the CRC 16 and end bit are appended to the data packet on the bus line. In a four-bit data width configuration, each line has its own start bit, end bit, and CRC 16 check sum. In this example, the four bytes are sent over the SDMMC bus in eight-bit mode. For each SDMMC CK clock cycle, a byte is shifted out with a start bit, end bit, and CRC 16 check sum on each data line. The datapath state machine, or DPSM, controls the transmission and reception of all data. When the DPSM is in idle state, the first transition is triggered when the DPSM-enabled bit and transfer direction are set. For data transmission, when enabled, the DPSM moves from idle to weight S and then to send state. While in the weight S state, the DPSM waits until the data FIFO empty flag is de-asserted. When data is available in the FIFO buffer, the DPSM moves to the send state. In send state, the DPSM starts sending data to a card according to the bus width set in the control register. At the end of data packet, the DPSM sends an internally generated CRC code and end bit and moves to the busy state. In busy state, the DPSM waits for the CRC status flag. If it receives a positive CRC status, it moves to weight S state if the SDMMC DO pin is not low, meaning that the card is not busy. From weight S state, a new packet transmission can start or the DPSM can return to idle state when all the data is transmitted. A negative CRC status from the card or a FIFO under-run error can force the DPSM to return to idle state. For data reception, the DPSM moves from idle to weight R state. When a start bit is detected on the bus, the DPSM moves to receive state where it remains until a full packet is received. As long as the end of data transfer flag and errors are not detected, the DPSM will keep switching between weight R and receive states. If an error or the end of data transfer flag is detected, the DPSM will return to idle state. A read weight state is an SDIO-specific operation to stall the transfer in order to execute other commands or internal operations. It can be reached from the receive state while the transmission is ongoing or from the idle state. When the firmware requests a read weight stop operation, the DPSM moves to the weight R state and waits for a start bit from the SDIO device. The FIFO is a 32-bit wide, 32-word deep data buffer mapped on the APB domain. A data FIFO packet is the data source for the data path transmit and receive packets. Depending on the DPSM status, the data path FIFO can be disabled, transmit enabled or receive enabled. Dedicated receive and transmit FIFO status flags are available to ease firmware implementation. When the data path is disabled, all FIFO flags are de-asserted. The hardware flow control function is used to avoid FIFO underrun when DPSM is in TX mode and overrun when DPSM is in RX mode errors. The hardware flow control logic stops the SDMMCCK PIN signals and freezes the DPSM when a risk of underrun overrun is detected. In send state, the SDMMCCK PIN clock signal is stretched and the DPSM is frozen when the FIFO threshold of two data words is reached. In receive state, the SDMMCCK clock is stretched and the DPSM is frozen in receive state while the FIFO is full. The threshold is 30 words. The clock and DPSM are restarted when the FIFO full flag is de-asserted. Concept, the read weight state operation is an SDIO specific operation that allows the host to temporarily stall the data transfer while emptying its data buffer or sending commands to other functions of the SDIO device. The SDMMCC controller supports two read weight modes, either by stopping the SDMMCCK or using the SDMMCC D2 signaling. The advantage of SDMMCC D2 signaling is you are still able to communicate with the card while in read weight mode. Concept, with multi-function cards there are multiple devices that share the access to the SD bus. When the function supports suspend and resume the host can temporarily halt data transfers to perform other internal operations or to communicate with other functions and then resume the suspended transaction. If a card supports the suspend and resume feature the host can temporarily halt a data transfer operation to one function or memory in order to free the bus for a higher priority transfer to a different function or memory. When the SDMMCC MD bit is set to 11 the CPSM knows that the current command is a suspend command. If a suspend request is accepted the DPSM will wait as the function sends a complete packet and application empties the reception FIFO before going to the idle state. Only then can the firmware start communication with a higher priority portion of the card. In order to restore a suspended transaction the firmware needs to reconfigure the DPSM to read the remaining data before requesting a function resume. The interrupt concept is used to inform the host of changes in the card status using the SDMMCC D1 IRQ pin in 1-bit or in 4-bit data bus mode. SDIO interrupts are sent from the card to the SDMMCC host when the card detects an external event. The SDMMCC host detects interrupts sent on the SDMMCC D1 pin once the SDIOEN configuration bit in the data control register is enabled. While the DPSM remains in idle state all low levels on the SDMMCC D1 pin are detected as interrupts from the card to the host. Here is an overview of interrupt events. This slide shows events related to the command path state machine. This is the list of flags for the data path state machine with events related to the transfer direction and transfer status. Here is the list of flags available for FIFO management in interrupt and polling modes. DMA requests are internally generated when triggered by FIFO threshold events. Here is an overview of the peripheral status at specific low power configuration modes. The device is not able to perform any communication in stop mode and lower. It is important to ensure that all transmissions are completed before the SDMMCC controller is disabled or the system is switched down to stop. Performance depends mainly on the SDMMCC bus width and clock configuration. The SDMMCC interface can generate clock signals up to 50 MHz. But real speed can be decreased by the application and depends on several factors. The SDMMCC bus capacitance has to be considered as PCB track and card input capacity can play a significant role. GPIO settings also have an effect. Fast GPIO mode should be applied on command, data and clock signals. Lower power supply voltages and extreme ambient temperatures slow down the edges. And in some cases, the application can't always manage fast data flows, especially due to overly frequent exception servicing or long time spent in interrupt handlers. The SDMMCC interface can be used in a wide range of applications where a low pin count is needed to interface with removable or permanent mass storage data memories. The SDMMCC controller can be used to extend device connectivity when using external SDIO devices, for example, Bluetooth SDIO modules. Here is a list of peripherals related to the SDM32 SDMMCC interface. Users should be familiar with all the relationships between these peripherals to correctly configure and use the SDMMCC controller.