File system write to storage without specifying location reference
First Claim
1. A storage device controller configured for coupling to a storage device having a plurality of locations for storing data, wherein the controller is coupled to receive a file system write command including write data, and wherein the write command does not specify a location reference for the write data, and wherein the controller is configured to respond to the write command by:
- (i) selecting an unused location of the storage device, and (ii) writing the write data to the storage device, wherein the writing of the write data includes directing the storage device to store at least a portion of the write data in the unused location;
wherein the controller is coupled to receive the write command from a host, and wherein the host is configured to track usage of the locations of the storage device, and wherein after writing the write data to the storage device, the controller is configured to report a location reference for the write data to the host.
0 Assignments
0 Petitions
Accused Products
Abstract
A storage device controller coupled to a storage device having a multiple locations for storing data coupled to may receive a WRITE ANYWHERE command including write data but not specifying a location of the storage device where the write data should be stored. The controller responds to the WRITE ANYWHERE command by selecting one or more unused locations of the storage device, and writing the write data in the one or more unused locations of the storage device. After writing the write data to the storage device, the controller may report where the write data is stored to the host. The host may also issue FREE commands to the controller specifying locations of the storage device which should be identified as unused. In response to a received FREE command, the controller may store information in a memory indicating that the location specified by the FREE command is unused.
6 Citations
37 Claims
-
1. A storage device controller configured for coupling to a storage device having a plurality of locations for storing data, wherein the controller is coupled to receive a file system write command including write data, and wherein the write command does not specify a location reference for the write data, and wherein the controller is configured to respond to the write command by:
- (i) selecting an unused location of the storage device, and (ii) writing the write data to the storage device, wherein the writing of the write data includes directing the storage device to store at least a portion of the write data in the unused location;
wherein the controller is coupled to receive the write command from a host, and wherein the host is configured to track usage of the locations of the storage device, and wherein after writing the write data to the storage device, the controller is configured to report a location reference for the write data to the host. - View Dependent Claims (2, 3, 4, 5)
- (i) selecting an unused location of the storage device, and (ii) writing the write data to the storage device, wherein the writing of the write data includes directing the storage device to store at least a portion of the write data in the unused location;
-
6. An apparatus, comprising:
-
a storage device having a plurality of locations for storing data; a controller coupled to the storage device; wherein the controller is coupled to receive a file system write command including write data, wherein the write command does not specify a location reference for the write data; and wherein the controller is configured to respond to the write command by;
(i) selecting an unused location of the storage device, and (ii) writing the write data to the storage device, wherein the writing of the write data includes directing the storage device to store at least a portion of the write data in the unused location; anda host coupled to the controller and configured to produce the write command, wherein the host tracks usage of the locations for storing data of the storage device; wherein after writing the write data to the storage device, the controller is configured to report a location reference for the write data to the host. - View Dependent Claims (7, 8, 9, 10)
-
-
11. An apparatus, comprising:
-
a disk drive including a disk-shaped platter having a surface configured to store data, wherein the surface is divided into a plurality of different regions; a controller coupled to the disk drive and comprising a memory for storing data indicating unused regions of the surface of the platter; wherein the controller is coupled to receive a file system write command including write data, wherein the write command does not specify a location reference for the write data; and wherein the controller is configured to respond to the write command by;
(i) selecting an unused region of the surface of the platter from the data indicating unused regions of the surface of the platter, and (ii) writing the write data to the disk drive, wherein the writing of the write data includes directing the disk drive to store at least a portion of the write data in the selected unused region of the surface of the platter;a host coupled to the controller and configured to produce the write command, wherein the host tracks usage of the regions for storing data of the disk drive; wherein after issuing the writing of the write data to the disk drive, the controller is configured to report a location reference for the write data to the host. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method for writing data to a disk drive, the method comprising:
-
a drive controller receiving a file system command specifying data to be written to the disk drive but not specifying a location reference for the write data; the drive controller determining a current head position of the disk drive and selecting a free location of the disk drive to write the specified data depending on the current head position; the drive controller writing the specified data to the selected location; the drive controller updating a map of free locations to indicate that the selected location is no longer free; and the drive controller reporting to the file system a location reference for the write data. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37)
-
Specification