Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
         sdcard conversion to bd, EOF blk2scsa
    1.2. Name of Document Author/Supplier:
         Author:  Garrett D'Amore
    1.3  Date of This Document:
        29 November, 2009
4. Technical Description

Background:

PSARC 2007/654 introduced blk2scsa, as a common framework for exposing block
oriented devices as SCSI logical devices.  PSARC 2007/659 introduced a
common framework for Secure Digital devices, building upon the blk2scsa
framework.  PSARC 2009/646 offers a new, simpler, and more performant,
alternative to blk2scsa which does not depend on SCSI or the SCSA framework
at all.

We would like convert the SDcard framework for SD and MMC memory cards to
use the new "bd" framework, and EOF the blk2scsa framework at the same time.

This case seeks Minor binding.  It depends on PSARC 2009/646, which is
not yet approved.


Architectural Details:

In our prototype, we have converted the framework to express a single
persistent "bd" target, for each SDcard slot.  The slot is a "removable"
drive.

This implementation has a few notable ramifications:

        a) We can simplify the SDcard framework quite a bit

        b) There is no longer a need for a separate "sdcard" pseudo-nexus
           driver.  The "bd" device can appear as a direct child of the
           SD host driver (e.g. sdhost).  The "sdcard" driver will be removed.

        c) The target device will appear using a cXdYsZ notation, without a
           a target number.

        d) Some performance ramifications from using larger transfers
           will go away.  Specifically, we can use large transfers even using
           the raw device, and not have to fall back to PIO.  (Because the
           bd framework can break the transfers up for us.)

        e) As we do not currently support SDIO, there is no longer any
           need to support the use of cfgadm with SDcard.  The cfgadm
           plugin for SDcard can thus be removed.  (Note that at this point,
           we find it unlikely that there will ever be sufficient motivation
           to implement support for SDIO.  While important for certain
           devices such as mobile hand-sets, SDIO has no place on platforms
           with a fully capable USB host or Express card implementation.
           We have designed things in our prototype so that if SDIO support
           were ever necessary it could be added back in without major
           architectural changes to the memory card support.)

           This change will remove the ability to initiate a software reset
           of the SDcard controller from the command line, but we have found 
           very little reason that such a capability is desirable.

        f) The sdcard framework itself will be able to eliminate all, or
           nearly all, of its direct uses of the nexus DDI.  (In the event
           that SDIO support were added later, we would have to reintroduce
           a lot of NDI interface consumption, though.)

As part of this effort, we'd like to remove the blk2scsa layer specified
in PSARC 2007/654.  There will be no more consumers for it, and the newer
bd framework specified in PSARC 2009/646 is superior to it.  (The blk2scsa
interfaces are all Consolidation Private.)


6. Resources and Schedule
    6.4. Steering Committee requested information
        6.4.1. Consolidation C-team Name:
                ON
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open

Reply via email to