<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://xfs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pniemayer</id>
	<title>xfs.org - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://xfs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pniemayer"/>
	<link rel="alternate" type="text/html" href="https://xfs.org/index.php/Special:Contributions/Pniemayer"/>
	<updated>2026-04-19T11:33:12Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://xfs.org/index.php?title=Support_discarding_of_unused_sectors&amp;diff=2002</id>
		<title>Support discarding of unused sectors</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=Support_discarding_of_unused_sectors&amp;diff=2002"/>
		<updated>2009-04-24T12:51:04Z</updated>

		<summary type="html">&lt;p&gt;Pniemayer: /* Other Documents */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Rationale ==&lt;br /&gt;
&lt;br /&gt;
For magnetic disks, DRAM and many other physical media used as block devices, it does not matter for the device to know which sectors are actually unused by the filesystem and therefore contain irrelevant content.&lt;br /&gt;
&lt;br /&gt;
This is quite different for Solid State Disks (SSDs) built from Flash Memory: To avoid performance degradation from the dynamic wear-levelling algorithms, there has to be a clever management of &amp;quot;unused&amp;quot; blocks in the SSD controller.&lt;br /&gt;
&lt;br /&gt;
To let the SSD controller know which sectors contain irrelevant data, the ATA TRIM command has been standardized, and now the first SSDs are available that implement that command (e.g. the SSDs using the Indilinx Barefoot controller, from firmware revision 1370 onwards).&lt;br /&gt;
&lt;br /&gt;
== What needs to be done ==&lt;br /&gt;
&lt;br /&gt;
To support SSDs and other devices that benefit from knowing unused sectors, the blkdev_issue_discard() function has recently been integrated into the Linux kernel (2.6.30rcX).&lt;br /&gt;
&lt;br /&gt;
The filesystem needs to call that function when it knows sectors become unused.&lt;br /&gt;
&lt;br /&gt;
Linux filesystems known to already support blkdev_issue_discard() (when available) are: ext4, GFS2, swap.&lt;br /&gt;
&lt;br /&gt;
== Related Standards ==&lt;br /&gt;
&lt;br /&gt;
[http://www.t13.org/Documents/UploadedDocuments/docs2008/e07154r6-Data_Set_Management_Proposal_for_ATA-ACS2.doc Data Set Management Commands Proposal for ATA8-ACS2]&lt;br /&gt;
&lt;br /&gt;
[http://www.t13.org/Documents/UploadedDocuments/docs2008/e08137r4-DRAT_-_Deterministic_Read_After_Trim.doc Deterministic TRIM Proposal for ATA8-ACS2]&lt;br /&gt;
&lt;br /&gt;
== Other Documents ==&lt;br /&gt;
&lt;br /&gt;
* An interesting [http://www.anandtech.com/printarticle.aspx?i=3531 Article at Anandtech] that (while being a little verbose and Windows-oriented) explains many aspects of SSD performance, including the prospective benefits of the ATA TRIM command (at page 10). &lt;br /&gt;
&lt;br /&gt;
* Patch [http://www.mail-archive.com/cluster-devel@redhat.com/msg03401.html adding the blkdev_issue_discard()] feature to GFS2&lt;br /&gt;
&lt;br /&gt;
* [http://www.usenix.org/event/lsf08/tech/shin_SSD.pdf Presentation] on a comparison between different filesystems performance on SSDs (including XFS)&lt;/div&gt;</summary>
		<author><name>Pniemayer</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=Support_discarding_of_unused_sectors&amp;diff=1999</id>
		<title>Support discarding of unused sectors</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=Support_discarding_of_unused_sectors&amp;diff=1999"/>
		<updated>2009-04-17T16:05:20Z</updated>

		<summary type="html">&lt;p&gt;Pniemayer: /* What needs to be done */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Rationale ==&lt;br /&gt;
&lt;br /&gt;
For magnetic disks, DRAM and many other physical media used as block devices, it does not matter for the device to know which sectors are actually unused by the filesystem and therefore contain irrelevant content.&lt;br /&gt;
&lt;br /&gt;
This is quite different for Solid State Disks (SSDs) built from Flash Memory: To avoid performance degradation from the dynamic wear-levelling algorithms, there has to be a clever management of &amp;quot;unused&amp;quot; blocks in the SSD controller.&lt;br /&gt;
&lt;br /&gt;
To let the SSD controller know which sectors contain irrelevant data, the ATA TRIM command has been standardized, and now the first SSDs are available that implement that command (e.g. the SSDs using the Indilinx Barefoot controller, from firmware revision 1370 onwards).&lt;br /&gt;
&lt;br /&gt;
== What needs to be done ==&lt;br /&gt;
&lt;br /&gt;
To support SSDs and other devices that benefit from knowing unused sectors, the blkdev_issue_discard() function has recently been integrated into the Linux kernel (2.6.30rcX).&lt;br /&gt;
&lt;br /&gt;
The filesystem needs to call that function when it knows sectors become unused.&lt;br /&gt;
&lt;br /&gt;
Linux filesystems known to already support blkdev_issue_discard() (when available) are: ext4, GFS2, swap.&lt;br /&gt;
&lt;br /&gt;
== Related Standards ==&lt;br /&gt;
&lt;br /&gt;
[http://www.t13.org/Documents/UploadedDocuments/docs2008/e07154r6-Data_Set_Management_Proposal_for_ATA-ACS2.doc Data Set Management Commands Proposal for ATA8-ACS2]&lt;br /&gt;
&lt;br /&gt;
[http://www.t13.org/Documents/UploadedDocuments/docs2008/e08137r4-DRAT_-_Deterministic_Read_After_Trim.doc Deterministic TRIM Proposal for ATA8-ACS2]&lt;br /&gt;
&lt;br /&gt;
== Other Documents ==&lt;br /&gt;
&lt;br /&gt;
* An interesting [http://www.anandtech.com/printarticle.aspx?i=3531 Article at Anandtech] that (while being a little verbose and Windows-oriented) explains many aspects of SSD performance, including the prospective benefits of the ATA TRIM command (at page 10). &lt;br /&gt;
&lt;br /&gt;
* Patch [http://www.mail-archive.com/cluster-devel@redhat.com/msg03401.html adding the blkdev_issue_discard()] feature to GFS2&lt;/div&gt;</summary>
		<author><name>Pniemayer</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=Support_discarding_of_unused_sectors&amp;diff=1995</id>
		<title>Support discarding of unused sectors</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=Support_discarding_of_unused_sectors&amp;diff=1995"/>
		<updated>2009-04-15T12:27:59Z</updated>

		<summary type="html">&lt;p&gt;Pniemayer: + links to related documents&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Rationale ==&lt;br /&gt;
&lt;br /&gt;
For magnetic disks, DRAM and many other physical media used as block devices, it does not matter for the device to know which sectors are actually unused by the filesystem and therefore contain irrelevant content.&lt;br /&gt;
&lt;br /&gt;
This is quite different for Solid State Disks (SSDs) built from Flash Memory: To avoid performance degradation from the dynamic wear-levelling algorithms, there has to be a clever management of &amp;quot;unused&amp;quot; blocks in the SSD controller.&lt;br /&gt;
&lt;br /&gt;
To let the SSD controller know which sectors contain irrelevant data, the ATA TRIM command has been standardized, and now the first SSDs are available that implement that command (e.g. the SSDs using the Indilinx Barefoot controller, from firmware revision 1370 onwards).&lt;br /&gt;
&lt;br /&gt;
== What needs to be done ==&lt;br /&gt;
&lt;br /&gt;
To support SSDs and other devices that benefit from knowing unused sectors, the blkdev_issue_discard() function has recently been integrated into the Linux kernel (2.6.30rcX).&lt;br /&gt;
&lt;br /&gt;
The filesystem needs to call that function when it knows sectors become unused.&lt;br /&gt;
&lt;br /&gt;
== Related Standards ==&lt;br /&gt;
&lt;br /&gt;
[http://www.t13.org/Documents/UploadedDocuments/docs2008/e07154r6-Data_Set_Management_Proposal_for_ATA-ACS2.doc Data Set Management Commands Proposal for ATA8-ACS2]&lt;br /&gt;
&lt;br /&gt;
[http://www.t13.org/Documents/UploadedDocuments/docs2008/e08137r4-DRAT_-_Deterministic_Read_After_Trim.doc Deterministic TRIM Proposal for ATA8-ACS2]&lt;br /&gt;
&lt;br /&gt;
== Other Documents ==&lt;br /&gt;
&lt;br /&gt;
* An interesting [http://www.anandtech.com/printarticle.aspx?i=3531 Article at Anandtech] that (while being a little verbose and Windows-oriented) explains many aspects of SSD performance, including the prospective benefits of the ATA TRIM command (at page 10). &lt;br /&gt;
&lt;br /&gt;
* Patch [http://www.mail-archive.com/cluster-devel@redhat.com/msg03401.html adding the blkdev_issue_discard()] feature to GFS2&lt;/div&gt;</summary>
		<author><name>Pniemayer</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=Ideas_for_XFS&amp;diff=1994</id>
		<title>Ideas for XFS</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=Ideas_for_XFS&amp;diff=1994"/>
		<updated>2009-04-15T11:57:12Z</updated>

		<summary type="html">&lt;p&gt;Pniemayer: added reference to &amp;quot;Support discarding of unused sectors&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Future Directions for XFS&lt;br /&gt;
&lt;br /&gt;
Dave Chinner ideas:&lt;br /&gt;
&lt;br /&gt;
* [[ Improving inode Caching ]]&lt;br /&gt;
&lt;br /&gt;
* [[ Improving Metadata Performance By Reducing Journal Overhead ]]&lt;br /&gt;
&lt;br /&gt;
* [[ Reliable Detection and Repair of Metadata Corruption ]]&lt;br /&gt;
&lt;br /&gt;
Other ideas:&lt;br /&gt;
&lt;br /&gt;
* [[ Splitting project quota support from group quota support ]]&lt;br /&gt;
* [[ Assigning project quota to a linux container ]]&lt;br /&gt;
* [[ Support discarding of unused sectors ]]&lt;/div&gt;</summary>
		<author><name>Pniemayer</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=Support_discarding_of_unused_sectors&amp;diff=1993</id>
		<title>Support discarding of unused sectors</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=Support_discarding_of_unused_sectors&amp;diff=1993"/>
		<updated>2009-04-15T11:55:57Z</updated>

		<summary type="html">&lt;p&gt;Pniemayer: initial proposal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Rationale ==&lt;br /&gt;
&lt;br /&gt;
For magnetic disks, DRAM and many other physical media used as block devices, it does not matter for the device to know which sectors are actually unused by the filesystem and therefore contain irrelevant content.&lt;br /&gt;
&lt;br /&gt;
This is quite different for Solid State Disks (SSDs) built from Flash Memory: To avoid performance degradation from the dynamic wear-levelling algorithms, there has to be a clever management of &amp;quot;unused&amp;quot; blocks in the SSD controller.&lt;br /&gt;
&lt;br /&gt;
To let the SSD controller know which sectors contain irrelevant data, the ATA TRIM command has been standardized, and now the first SSDs are available that implement that command (e.g. the SSDs using the Indilinx Barefoot controller, from firmware revision 1370 onwards).&lt;br /&gt;
&lt;br /&gt;
== What needs to be done ==&lt;br /&gt;
&lt;br /&gt;
To support SSDs and other devices that benefit from knowing unused sectors, the blkdev_issue_discard() function has recently been integrated into the Linux kernel (2.6.30rcX).&lt;br /&gt;
&lt;br /&gt;
The filesystem needs to call that function when it knows sectors become unused.&lt;br /&gt;
&lt;br /&gt;
== Related Standards ==&lt;br /&gt;
&lt;br /&gt;
[http://www.t13.org/Documents/UploadedDocuments/docs2008/e07154r6-Data_Set_Management_Proposal_for_ATA-ACS2.doc Data Set Management Commands Proposal for ATA8-ACS2]&lt;br /&gt;
&lt;br /&gt;
[http://www.t13.org/Documents/UploadedDocuments/docs2008/e08137r4-DRAT_-_Deterministic_Read_After_Trim.doc Deterministic TRIM Proposal for ATA8-ACS2]&lt;/div&gt;</summary>
		<author><name>Pniemayer</name></author>
	</entry>
</feed>