Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Oct 2008 16:17:04 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/dev/mmc mmc.c mmcreg.h mmcsd.c mmcvar.h
Message-ID:  <200810181617.m9IGHIvO015528@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
mav         2008-10-18 16:17:04 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/mmc          mmc.c mmcreg.h mmcsd.c mmcvar.h 
  Log:
  SVN rev 184033 on 2008-10-18 16:17:04Z by mav
  
  Implement BIO_DELETE command with MMC and SD erase commands.
  
  Erase operation gives card's logic information about unused areas to help it
  implement wear-leveling with lower overhead comparing to usual writing.
  Erase is much faster then write and does not depends on data bus speed.
  Also as result of hitting in-card write logic optimizations I have measured
  up to 50% performance boost on writing undersized blocks into preerased areas.
  
  At the same time there are strict limitations on size and allignment of erase
  operations. We can erase only blocks aligned to the erase sector size and
  with size multiple of it. Different cards has different erase sector size
  which usually varies from 64KB to 4MB. SD cards actually allow to erase
  smaller blocks, but it is much more expensive as it is implemented via
  read-erase-write sequence and so not sutable for the BIO_DELETE purposes.
  
  Reviewed by:    imp@
  
  Revision  Changes    Path
  1.26      +158 -93   src/sys/dev/mmc/mmc.c
  1.7       +18 -1     src/sys/dev/mmc/mmcreg.h
  1.14      +155 -55   src/sys/dev/mmc/mmcsd.c
  1.8       +2 -0      src/sys/dev/mmc/mmcvar.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810181617.m9IGHIvO015528>