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, such that the sector is stored in an erase block that is dedicated exclusively for storage of sectors from the file, the erase block storing sectors of the file having discontinuous logical address ranges.
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
18 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, such that the sector is stored in an erase block that is dedicated exclusively for storage of sectors from the file, the erase block storing sectors of the file having discontinuous logical address ranges. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. 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; subsequent to receiving the first plurality of sectors, 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; subsequent to receiving the second plurality of sectors, 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 and the third portion of the logical address space being logically discontinuous; 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; storing the second plurality of sectors in a second metablock of the memory array wherein the first metablock is dedicated to storing data of the host file; and wherein the information is received prior to receiving the first plurality of sectors of data of the host file. - View Dependent Claims (9, 10, 11)
-
-
12. 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 file allocation information regarding a first plurality of sectors of a host data file prior to receipt of any sectors of the host data file, the file allocation information identifying the sectors of the first plurality of sectors as belonging to the host data file; subsequently receiving the 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 first 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; in response to determining that the two or more discontinuous portions of the logical address space are occupied by data of the host data file, 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 (13, 14)
-
-
15. 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 an erase block that stores only data of the host file; and wherein the memory system determines whether ones of the plurality of sectors are allocated to the host file using file allocation information received from the host prior to receipt of the plurality of sectors of host data from the host. - View Dependent Claims (16, 17, 18)
-
Specification