4K Sector Disks

2010-06-28 Thread J.C. Roberts
dlg,

It took me weeks and a few failed attempts with various disk
manufacturers, but it's done, and we have victory!

The value from the modified atactl output for reg 106: 4000

Finally it seems we have a disk that is properly showing us 4k sectors
rather than lying. I kind of guessed this disk might be correct 
considering the performance drop in 512b benchmarks compared to 4k and
larger benchmarks.

I won't be home for a week, but if you can't find a Crucial C300
locally in .au, let me know and I'll deal with it.

jcr

Model: C300-CTFDDAC256MAG, Rev: 0001, Serial #: 1015C87C
Device type: ATA, fixed
Cylinders: 16383, heads: 16, sec/track: 63, total sectors: 500118192
Device capabilities:
ATA standby timer values
IORDY operation
IORDY disabling
Device supports the following standards:
ATA-4 ATA-5 ATA-6 ATA-7 ATA-8 
Device supports the following command sets:
NOP command
READ BUFFER command
WRITE BUFFER command
Host Protected Area feature set
Read look-ahead
Write cache
Power Management feature set
Security Mode feature set
SMART feature set
Flush Cache Ext command
Flush Cache command
Device Configuration Overlay feature set
48bit address feature set
Set Max security extension commands
Power-up in standby feature set
Advanced Power Management feature set
DOWNLOAD MICROCODE command
IDLE IMMEDIATE with UNLOAD FEATURE
SMART self-test
SMART error logging
Device has enabled the following command sets/features:
NOP command
READ BUFFER command
WRITE BUFFER command
Host Protected Area feature set
Read look-ahead
Write cache
Power Management feature set
SMART feature set
Flush Cache Ext command
Flush Cache command
Device Configuration Overlay feature set
48bit address feature set
DOWNLOAD MICROCODE command
  0: 0x045a
  1: 0x3fff
  2: 0x
  3: 0x0010
  4: 0x7e00
  5: 0x
  6: 0x003f
  7: 0x03d3
  8: 0xfdd0
  9: 0x
 10: 0x3030
 11: 0x3030
 12: 0x3030
 13: 0x3030
 14: 0x3031
 15: 0x3531
 16: 0x3030
 17: 0x3030
 18: 0x3843
 19: 0x4337
 20: 0x
 21: 0x
 22: 0x
 23: 0x3030
 24: 0x3130
 25: 0x
 26: 0x
 27: 0x3343
 28: 0x3030
 29: 0x432d
 30: 0x4654
 31: 0x
 32: 0x4341
 33: 0x3532
 34: 0x4d36
 35: 0x4741
 36: 0x
 37: 0x
 38: 0x
 39: 0x
 40: 0x
 41: 0x
 42: 0x
 43: 0x
 44: 0x
 45: 0x
 46: 0x
 47: 0x8010
 48: 0x4000
 49: 0x2f00
 50: 0x4000
 51: 0x
 52: 0x
 53: 0x0007
 54: 0x3fff
 55: 0x0010
 56: 0x003f
 57: 0x32b0
 58: 0x1dcf
 59: 0x0110
 60: 0x
 61: 0x0fff
 62: 0x
 63: 0x0007
 64: 0x0003
 65: 0x0078
 66: 0x0078
 67: 0x0078
 68: 0x0078
 69: 0x
 70: 0x
 71: 0x
 72: 0x
 73: 0x
 74: 0x
 75: 0x001f
 76: 0x070e
 77: 0x
 78: 0x004c
 79: 0x0040
 80: 0x01f0
 81: 0x0028
 82: 0x746b
 83: 0x7d29
 84: 0x6173
 85: 0x7469
 86: 0xbc01
 87: 0x6163
 88: 0x407f
 89: 0x0005
 90: 0x0005
 91: 0x00fe
 92: 0x
 93: 0x
 94: 0x
 95: 0x0040
 96: 0x0100
 97: 0x0100
 98: 0x
 99: 0x0001
100: 0x32b0
101: 0x1dcf
102: 0x
103: 0x
104: 0x0100
105: 0x
106: 0x4000
107: 0x
108: 0x5075
109: 0x00a1
110: 0x7cc8
111: 0x
112: 0x
113: 0x
114: 0x
115: 0x
116: 0x
117: 0x
118: 0x
119: 0x401e
120: 0x401c
121: 0x
122: 0x
123: 0x
124: 0x
125: 0x
126: 0x
127: 0x
128: 0x0029
129: 0x3030
130: 0x3031
131: 0x2e45
132: 0x312e
133: 0x3030
134: 0x
135: 0x
136: 0x
137: 0x3334
138: 0x3639
139: 0x2020
140: 0x2020
141: 0x3342
142: 0x4c36
143: 0x
144: 0x
145: 0x
146: 0x
147: 0x
148: 0x
149: 0x
150: 0x
151: 0x
152: 0x
153: 0x
154: 0x
155: 0x
156: 0x
157: 0x
158: 0x
159: 0x
160: 0x
161: 0x
162: 0x
163: 0x
164: 0x
165: 0x
166: 0x
167: 0x
168: 0x
169: 0x0001
170: 0x
171: 0x
172: 0x
173: 0x
174: 0x
175: 0x
176: 0x
177: 0x
178: 0x
179: 0x
180: 0x
181: 0x
182: 0x
183: 0x
184: 0x
185: 0x
186: 0x
187: 0x
188: 0x
189: 0x
190: 0x
191: 0x
192: 0x
193: 0x
194: 0x
195: 0x
196: 0x
197: 0x
198: 0x
199: 0x
200: 0x
201: 0x
202: 0x
203: 0x
204: 0x
205: 0x
206: 0x003d
207: 0x
208: 0x
209: 0x4000
210: 0x
211: 0x
212: 0x
213: 0x
214: 0x
215: 0x
216: 0x
217: 0x0001
218: 0x
219: 0x
220: 0x
221: 0x
222: 0x
223: 0x
224: 0x
225: 0x
226: 0x
227: 0x
228: 0x
229: 0x
230: 0x
231: 0x
232: 0x
233: 0x
234: 0x0001
235: 0x00ff
236: 0x
237: 0x
238: 0x
239: 0x
240: 0x
241: 0x
242: 0x
243: 0x
244: 0x
245: 0x
246: 

Re: 4K Sector Disks

2010-06-28 Thread David Gwynne
On 29/06/2010, at 12:20 PM, J.C. Roberts wrote:

 dlg,

 It took me weeks and a few failed attempts with various disk
 manufacturers, but it's done, and we have victory!

 The value from the modified atactl output for reg 106: 4000

 Finally it seems we have a disk that is properly showing us 4k sectors
 rather than lying. I kind of guessed this disk might be correct
 considering the performance drop in 512b benchmarks compared to 4k and
 larger benchmarks.

 I won't be home for a week, but if you can't find a Crucial C300
 locally in .au, let me know and I'll deal with it.

unfortunately 0x4000 doesnt mean the physical block size is 4k. it means that
the low bits of that field are a valid representation of the block size.
0x4000 is saying there is a 1:1 map from physical to logical blocks.

see atascsi.h:

u_int16_t   p2l_sect;   /* 106 */
#define ATA_ID_P2L_SECT_MASK0xc000
#define ATA_ID_P2L_SECT_VALID   0x4000
#define ATA_ID_P2L_SECT_SET 0x2000
#define ATA_ID_P2L_SECT_SIZESET 0x1000
#define ATA_ID_P2L_SECT_SIZE0x000f

169 is cool though ;)

u_int16_t   data_set_mgmt;  /* 169 */
#define ATA_ID_DATA_SET_MGMT_TRIM 0x0001

dlg


   jcr

 Model: C300-CTFDDAC256MAG, Rev: 0001, Serial #: 1015C87C
 Device type: ATA, fixed
 Cylinders: 16383, heads: 16, sec/track: 63, total sectors: 500118192
 Device capabilities:
   ATA standby timer values
   IORDY operation
   IORDY disabling
 Device supports the following standards:
 ATA-4 ATA-5 ATA-6 ATA-7 ATA-8
 Device supports the following command sets:
   NOP command
   READ BUFFER command
   WRITE BUFFER command
   Host Protected Area feature set
   Read look-ahead
   Write cache
   Power Management feature set
   Security Mode feature set
   SMART feature set
   Flush Cache Ext command
   Flush Cache command
   Device Configuration Overlay feature set
   48bit address feature set
   Set Max security extension commands
   Power-up in standby feature set
   Advanced Power Management feature set
   DOWNLOAD MICROCODE command
   IDLE IMMEDIATE with UNLOAD FEATURE
   SMART self-test
   SMART error logging
 Device has enabled the following command sets/features:
   NOP command
   READ BUFFER command
   WRITE BUFFER command
   Host Protected Area feature set
   Read look-ahead
   Write cache
   Power Management feature set
   SMART feature set
   Flush Cache Ext command
   Flush Cache command
   Device Configuration Overlay feature set
   48bit address feature set
   DOWNLOAD MICROCODE command
  0: 0x045a
  1: 0x3fff
  2: 0x
  3: 0x0010
  4: 0x7e00
  5: 0x
  6: 0x003f
  7: 0x03d3
  8: 0xfdd0
  9: 0x
 10: 0x3030
 11: 0x3030
 12: 0x3030
 13: 0x3030
 14: 0x3031
 15: 0x3531
 16: 0x3030
 17: 0x3030
 18: 0x3843
 19: 0x4337
 20: 0x
 21: 0x
 22: 0x
 23: 0x3030
 24: 0x3130
 25: 0x
 26: 0x
 27: 0x3343
 28: 0x3030
 29: 0x432d
 30: 0x4654
 31: 0x
 32: 0x4341
 33: 0x3532
 34: 0x4d36
 35: 0x4741
 36: 0x
 37: 0x
 38: 0x
 39: 0x
 40: 0x
 41: 0x
 42: 0x
 43: 0x
 44: 0x
 45: 0x
 46: 0x
 47: 0x8010
 48: 0x4000
 49: 0x2f00
 50: 0x4000
 51: 0x
 52: 0x
 53: 0x0007
 54: 0x3fff
 55: 0x0010
 56: 0x003f
 57: 0x32b0
 58: 0x1dcf
 59: 0x0110
 60: 0x
 61: 0x0fff
 62: 0x
 63: 0x0007
 64: 0x0003
 65: 0x0078
 66: 0x0078
 67: 0x0078
 68: 0x0078
 69: 0x
 70: 0x
 71: 0x
 72: 0x
 73: 0x
 74: 0x
 75: 0x001f
 76: 0x070e
 77: 0x
 78: 0x004c
 79: 0x0040
 80: 0x01f0
 81: 0x0028
 82: 0x746b
 83: 0x7d29
 84: 0x6173
 85: 0x7469
 86: 0xbc01
 87: 0x6163
 88: 0x407f
 89: 0x0005
 90: 0x0005
 91: 0x00fe
 92: 0x
 93: 0x
 94: 0x
 95: 0x0040
 96: 0x0100
 97: 0x0100
 98: 0x
 99: 0x0001
 100: 0x32b0
 101: 0x1dcf
 102: 0x
 103: 0x
 104: 0x0100
 105: 0x
 106: 0x4000
 107: 0x
 108: 0x5075
 109: 0x00a1
 110: 0x7cc8
 111: 0x
 112: 0x
 113: 0x
 114: 0x
 115: 0x
 116: 0x
 117: 0x
 118: 0x
 119: 0x401e
 120: 0x401c
 121: 0x
 122: 0x
 123: 0x
 124: 0x
 125: 0x
 126: 0x
 127: 0x
 128: 0x0029
 129: 0x3030
 130: 0x3031
 131: 0x2e45
 132: 0x312e
 133: 0x3030
 134: 0x
 135: 0x
 136: 0x
 137: 0x3334
 138: 0x3639
 139: 0x2020
 140: 0x2020
 141: 0x3342
 142: 0x4c36
 143: 0x
 144: 0x
 145: 0x
 146: 0x
 147: 0x
 148: 0x
 149: 0x
 150: 0x
 151: 0x
 152: 0x
 153: 0x
 154: 0x
 155: 0x
 156: 0x
 157: 0x
 158: 0x
 159: 0x
 160: 0x
 161: 0x
 162: 0x
 163: 0x
 164: 0x
 165: 0x
 166: 0x
 167: 0x
 168: 0x
 169: 0x0001
 170: 0x
 171: 0x
 172: 0x
 173: 0x
 174: 0x
 175: 0x
 176: 0x
 177: 0x
 178: 0x
 179: 0x
 180: 0x
 181: 0x
 182: 0x
 183: 0x
 184: 0x
 185: 0x
 186: 0x