kern/178040: [cam] [patch] Add 4K quirks for Intel 320 and 510-series SSDs

Jeremy Chadwick jdc at koitsu.org
Mon Apr 22 04:50:02 UTC 2013


>Number:         178040
>Category:       kern
>Synopsis:       [cam] [patch] Add 4K quirks for Intel 320 and 510-series SSDs
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Mon Apr 22 04:50:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Jeremy Chadwick
>Release:        FreeBSD 9.1-STABLE amd64
>Organization:
>Environment:
System: FreeBSD icarus.home.lan 9.1-STABLE FreeBSD 9.1-STABLE #1 r249715M: Sun Apr 21 21:07:17 PDT 2013 root at icarus.home.lan:/usr/obj/usr/src/sys/X7SBA_RELENG_9_amd64 amd64
>Description:
	Intel's 320-series and 510-series SSDs advertise 512-byte sectors
	sizes for both logical and physical.  This adds ADA_Q_4K quirks
	for both.  (Intel, for whatever reason, didn't add physical sector
	advertisement in ATA IDENTIFY; maybe they're strictly adhering to
	non-draft specs, I don't know...)

	Validation of my claims:

root at icarus:~ # smartctl -a /dev/ada0
...
Model Family:     Intel 320 Series SSDs
Device Model:     INTEL SSDSA2CW080G3
...
Firmware Version: 4PC10302
User Capacity:    80,026,361,856 bytes [80.0 GB]
Sector Size:      512 bytes logical/physical
...

root at icarus:~ # smartctl -a /dev/ada5
...
Model Family:     Intel 510 Series SSDs
Device Model:     INTEL SSDSC2MH120A2
...
Firmware Version: PPG4
User Capacity:    120,034,123,776 bytes [120 GB]
Sector Size:      512 bytes logical/physical
...
>How-To-Repeat:
	n/a
>Fix:
	Apply below patch.  Patch will also be available at the following
	URL once I get a GNATS PR:

	http://jdc.koitsu.org/freebsd/{prnum}/


Index: sys/cam/ata/ata_da.c
===================================================================
--- sys/cam/ata/ata_da.c	(revision 249745)
+++ sys/cam/ata/ata_da.c	(working copy)
@@ -350,6 +350,14 @@ static struct ada_quirk_entry ada_quirk_table[] =
 	},
 	{
 		/*
+		 * Intel 320 Series SSDs
+		 * 4k optimised & trim only works in 4k requests + 4k aligned
+		 */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "INTEL SSDSA2CW*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/*
 		 * Intel 330 Series SSDs
 		 * 4k optimised & trim only works in 4k requests + 4k aligned
 		 * Submitted by: Steven Hartland <steven.hartland at multiplay.co.uk>
@@ -360,6 +368,14 @@ static struct ada_quirk_entry ada_quirk_table[] =
 	},
 	{
 		/*
+		 * Intel 510 Series SSDs
+		 * 4k optimised & trim only works in 4k requests + 4k aligned
+		 */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "INTEL SSDSC2MH*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/*
 		 * OCZ Deneva R Series SSDs
 		 * 4k optimised & trim only works in 4k requests + 4k aligned
 		 * Submitted by: Steven Hartland <steven.hartland at multiplay.co.uk>
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list