Method of interfacing a host operating through a logical address space with a direct file storage medium
AssigneeSanDisk Technologies LLC
InventorAlan W. Sinclair
Life of this patent
Estimating the term…
Abstract
A method and system for interfacing a system operating through a logical address space with a direct file storage (DFS) medium is disclosed. The method includes receiving data associated with addresses in a logical block address (LBA) format from a host system and generating file objects manageable by the DFS medium based on a determination of the correlation of the LBA data to host file data. The memory system includes non-volatile memory using the DFS format, an interface for receiving LBA format data, and a controller configured to communicate with the host via an LBA interface and generate file objects from the LBA format data correlated to the host application files usable by the memory system.
Claims65
A method of transferring data between a host system and a discrete re-programmable non-volatile mass storage device coupled to the host system, the method comprising:
- in the discrete re-programmable non-volatile mass storage device:
- receiving data associated with addresses in a logical block address (LBA) format from the host system;
- correlating a group of data within the data received in LBA format at the discrete mass storage device to an application file on the host system;
- assembling the group of data within the data received in LBA format at the discrete mass storage device from the host system based on the correlation of the group of data received in LBA format at the discrete mass storage device to the application file on the host system;
- and
- mapping LBA addresses for the group of data to offset addresses within a data object identified by a unique filename.
A method of transferring data between a host system and a discrete re-programmable non-volatile mass storage device coupled to the host system, the method comprising:
- in the discrete re-programmable non-volatile mass storage device:
- receiving data associated with addresses in a logical block address (LBA) format from the host system;
- selecting, based on information from the host system, a correlation method to determine a correlation of data received in LBA format at the discrete mass storage device to host system application files from a plurality of correlation methods for determining a correlation of data received in LBA format at the discrete mass storage device to host system application files;
- correlating a group of the data received in LBA format at the discrete mass storage device to a host system application file using the selected correlation method;
- and
- mapping LBA addresses for the group of data to offset addresses within a data object identified by the unique filename.
A method of transferring data between a host system and a discrete re-programmable non-volatile mass storage device coupled to the host system, the method comprising:
- in the discrete re-programmable non-volatile mass storage device:
- receiving data associated with addresses in a logical block address (LBA) format from the host system;
- determining whether there is a correlation between a group of the data received in LBA format at the discrete mass storage device and a host system application file;
- correlating the group of data received in LBA format at the discrete mass storage device to the host system application file when it is determined that there is a correlation between the group of the data received in LBA format at the discrete mass storage system and the host system application file;
- assigning a unique file name to the group of the data received in LBA format at the discrete mass storage device when the correlation is determined and mapping LBA addresses for the group of data to the unique file name and a data offset;
- and
- assigning the unique file name to a contiguous range of LBA addresses in the received data when the correlation is not determined and mapping the contiguous range of LBA addresses to the unique file name and a data offset.
A method of transferring data between a host system and a discrete re-programmable non-volatile mass storage device coupled to the host system, the method comprising:
- in the discrete re-programmable non-volatile mass storage device:
- determining whether the host system is configured to provide host system file identifiers to the discrete mass storage device prior to writing logical block address (LBA) format data to the discrete mass storage device, wherein the host system file identifiers indicate to the discrete mass storage device a correlation of subsequently transmitted LBA data to application files on the host system;
- when the host system is configured to provide host system file identifiers to the discrete mass storage device:
- receiving a group of data associated with addresses in a logical block address (LBA) format and a host system file identifier from the host system;
- mapping the host system file identifier to a unique file name;
- and
- mapping BA addresses for the data received in LBA format at the discrete mass storage device to offset addresses in a data object identified by a unique filename;
- and
- when the host system is not configured to provide host system file identifiers to the discrete mass storage device:
- automatically correlating received LBA format data to application files on the host system without host system file identifiers;
- assigning a unique filename to a group of data received in LBA format determined to correlate to an application file;
- and
- mapping LBA addresses for the data received in LBA format at the discrete mass storage device to offset addresses in a data object identified by a unique filename.
A discrete mass storage memory device, comprising:
- re-programmable non-volatile memory cells, the memory cells being arranged in a plurality of blocks of memory cells that are erasable together;
- an interface adapted to receive data addressed in a logical block address (LBA) format from a host system;
- a controller in communication with the interface, the controller comprising processor executable instructions for executing the steps of:
- determining if there is a correlation between a group of the data received in LBA format at the discrete mass storage memory device and a host system application file;
- correlating the group of data received in LBA format at the discrete mass storage memory device to the host system application file when it is determined that there is a correlation between the group of data received in LBA format at the discrete mass storage memory device and the host system application file;
- and
- translating LBA addresses of the group of data into offset addresses within a file object identified by a unique file identifier when it is determined that there is a correlation between the group of data received in LBA format at the discrete mass storage memory device and the host system application file.
A discrete mass storage memory device, comprising:
- re-programmable non-volatile memory cells, the memory cells being arranged in a plurality of blocks of memory cells that are erasable together;
- an interface adapted to receive data addressed in a logical block address (LBA) format from a host system;
- a controller in communication with the interface, the controller configured to determine if the host system is arranged to provide information to the discrete mass storage device that is sufficient for the controller to determine a correlation of data received in LBA format at the discrete mass storage memory device to host system application files, and when the host system is so arranged, to correlate groups of data received in LBA format at the discrete mass storage memory device to host system application files and to assign a unique file name to each group of received data correlated to a respective host system application file, and for each group of data received in LBA format at the discrete mass storage memory device correlated to a host system application file, to map LBA addresses for the group of data to the unique file name and a data offset.
A discrete mass storage memory device, comprising:
- re-programmable non-volatile memory cells, the memory cells being arranged in a plurality of blocks of memory cells that are erasable together;
- an interface adapted to receive data addressed in a logical block address (LBA) format from a host system;
- a controller in communication with the interface, the controller configured to determine whether there is a correlation between a group of the data received in LBA format at the discrete mass storage memory device and a host system application file, to correlate the group of data received in LBA format at the discrete mass storage memory device to the host system application file when it is determined that there is a correlation between the group of data received in LBA format and the host system application file, to assign a unique file name to the group of data when the correlation is determined, and to map LBA addresses for the group of data to the unique file name and a data offset, and
- wherein the controller is further configured to assign the unique file name to a contiguous range of LBA addresses in the received data and map the contiguous range of LBA addresses to the unique file name and a data offset when it is not determined that there is a correlation between the group of data received in LBA format and the host system application file.
A discrete mass storage memory device comprising:
- re-programmable non-volatile memory cells, the memory cells being arranged in a plurality of blocks of memory cells that are erasable together;
- an interface adapted to receive data from a host system, the data addressed in a logical block address (LBA) format;
- and
- a controller in communication with the interface, the controller configured to correlate LBA addresses of data received at the discrete mass storage device from the host system to a host system application file, to create a file object for correlated received data wherein the file object is identified by a unique file identifier and an offset, and to cause the file object to be stored in one or more of the plurality of blocks of memory cells;
- wherein the controller comprises at least two correlation routines for correlating data received in LBA format at the discrete mass storage device to host system application files and is configured to implement a first correlation routine in response to a determination that the host system is capable of providing host application file identifiers associated with the data received in LBA format to the memory system to the discrete mass storage device and is configured to implement a second correlation routine if the host system is incapable of providing host system application file identifiers associated with data received in LBA format to the discrete mass storage device, the host system file identifiers indicating to the discrete mass storage memory device a correlation of subsequently transmitted LBA data to application files on the host system.
Dependencies are inferred from the claim text.