32 research outputs found
Spintronics: Fundamentals and applications
Spintronics, or spin electronics, involves the study of active control and
manipulation of spin degrees of freedom in solid-state systems. This article
reviews the current status of this subject, including both recent advances and
well-established results. The primary focus is on the basic physical principles
underlying the generation of carrier spin polarization, spin dynamics, and
spin-polarized transport in semiconductors and metals. Spin transport differs
from charge transport in that spin is a nonconserved quantity in solids due to
spin-orbit and hyperfine coupling. The authors discuss in detail spin
decoherence mechanisms in metals and semiconductors. Various theories of spin
injection and spin-polarized transport are applied to hybrid structures
relevant to spin-based devices and fundamental studies of materials properties.
Experimental work is reviewed with the emphasis on projected applications, in
which external electric and magnetic fields and illumination by light will be
used to control spin and charge dynamics to create new functionalities not
feasible or ineffective with conventional electronics.Comment: invited review, 36 figures, 900+ references; minor stylistic changes
from the published versio
Semiconductor Spintronics
Spintronics refers commonly to phenomena in which the spin of electrons in a
solid state environment plays the determining role. In a more narrow sense
spintronics is an emerging research field of electronics: spintronics devices
are based on a spin control of electronics, or on an electrical and optical
control of spin or magnetism. This review presents selected themes of
semiconductor spintronics, introducing important concepts in spin transport,
spin injection, Silsbee-Johnson spin-charge coupling, and spindependent
tunneling, as well as spin relaxation and spin dynamics. The most fundamental
spin-dependent nteraction in nonmagnetic semiconductors is spin-orbit coupling.
Depending on the crystal symmetries of the material, as well as on the
structural properties of semiconductor based heterostructures, the spin-orbit
coupling takes on different functional forms, giving a nice playground of
effective spin-orbit Hamiltonians. The effective Hamiltonians for the most
relevant classes of materials and heterostructures are derived here from
realistic electronic band structure descriptions. Most semiconductor device
systems are still theoretical concepts, waiting for experimental
demonstrations. A review of selected proposed, and a few demonstrated devices
is presented, with detailed description of two important classes: magnetic
resonant tunnel structures and bipolar magnetic diodes and transistors. In most
cases the presentation is of tutorial style, introducing the essential
theoretical formalism at an accessible level, with case-study-like
illustrations of actual experimental results, as well as with brief reviews of
relevant recent achievements in the field.Comment: tutorial review; 342 pages, 132 figure
When state‐level institutions cannot tell the whole story: An inquiry into municipal variations in quality of government
Interprocedural analysis for privileged code placement and tainted variable detection
Abstract. In Java 2 and Microsoft.NET Common Language Runtime (CLR), trusted code has often been programmed to perform accessrestricted operations not explicitly requested by its untrusted clients. Since an untrusted client will be on the call stack when access control is enforced, an access-restricted operation will not succeed unless the client is authorized. To avoid this, a portion of the trusted code can be made “privileged. ” When access control is enforced, privileged code causes the stack traversal to stop at the trusted code frame, and the untrusted code stack frames will not be checked for authorization. For large programs, manually understanding which portions of code should be made privileged is a difficult task. Developers must understand which authorizations will implicitly be extended to client code and make sure that the values of the variables used by the privileged code are not “tainted” by client code. This paper presents an interprocedural analysis for Java bytecode to automatically identify which portions of trusted code should be made privileged, ensure that there are no tainted variables in privileged code, and detect “unnecessary ” and “redundant ” privileged code. We implemented the algorithm and present the results of our analyses on a set of large programs. While the analysis techniques are in the context of Java code, the basic concepts are also applicable to non-Java systems with a similar authorization model