Logically-addressed file storage methods
First Claim
Patent Images
1. A method of storing sectors of data from a plurality of files in a non-volatile memory array, sectors of each of the plurality of files mapped to a common logical address space by a host, comprising:
- receiving file allocation information from the host that indicates a file to which a sector of host data is allocated;
subsequently receiving the sector of host data from the host for storage in the non-volatile memory array; and
subsequently storing the sector of host data in the non-volatile memory array in a physical location that is determined according to the file to which it is allocated according to the file allocation information from the host.
3 Assignments
0 Petitions
Accused Products
Abstract
Files that are mapped to a logical address range by a host become logically fragmented prior to being sent to a memory system. Subsequently, the logically fragmented portions are reassembled when they are stored in blocks in the memory system. The host supplies information to the memory system regarding file-to-logical mapping of data prior to sending the data. The memory selects storage locations for the data based on the files to which the data belong.
-
Citations
22 Claims
-
1. A method of storing sectors of data from a plurality of files in a non-volatile memory array, sectors of each of the plurality of files mapped to a common logical address space by a host, comprising:
-
receiving file allocation information from the host that indicates a file to which a sector of host data is allocated;
subsequently receiving the sector of host data from the host for storage in the non-volatile memory array; and
subsequently storing the sector of host data in the non-volatile memory array in a physical location that is determined according to the file to which it is allocated according to the file allocation information from the host. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of storing sectors of host data from a host file in a non-volatile memory array having a metablock as the minimum unit of erase, sectors from the host file and other files mapped to a common logical address space, comprising:
-
receiving a first plurality of sectors of data of the host file, the first plurality of sectors occupying a first portion of the logical address space;
subsequently receiving a second plurality of sectors that are not of the host file, the second plurality of sectors occupying a second portion of the logical address space;
subsequently receiving a third plurality of sectors of the host file, the third plurality of sectors occupying a third portion of the logical address space, the first portion of the logical address space spaced apart from the third portion of the logical address space;
in response to information identifying the first and third portions of the logical address space as allocated to the host file, storing the first plurality of sectors and the third plurality of sectors in a first metablock of the memory array; and
storing the second plurality of sectors in a second metablock of the memory array. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method of storing a host data file in a non-volatile memory array that has a metablock as the minimum unit of erase, comprising:
-
receiving a first plurality of sectors of data of the host data file, each of the first plurality of sectors having a logical address from a logical address space defined for the memory array, the plurality of sectors having logical addresses that occupy two or more discontinuous portions of the logical address space;
receiving a second plurality of sectors of data that are not of the host data file, each of the second plurality of sectors having a logical address from the logical address space, the second plurality of sectors received interspersed with the receipt of the first plurality of sectors; and
storing the data from the two or more discontinuous portions of the logical address space in a metablock that contains only data of the host data file. - View Dependent Claims (15, 16, 17)
-
-
18. A method of interfacing a memory system with a host that allocates sectors of host data files to a common logical address space, comprising:
-
the memory system receiving a plurality of sectors of host data from the host, the plurality of sectors allocated to a host file, the plurality of sectors of host data having logical addresses assigned by the host that are not contiguous; and
the memory system determining whether the plurality of sectors are allocated to the host file and, in response to determining that the plurality of sectors are allocated to the host file, the memory system storing the plurality of sectors in a portion of the memory array so that the plurality of sectors are located contiguously. - View Dependent Claims (19, 20, 21, 22)
-
Specification