Multi-array operation support and related devices, systems and software
First Claim
1. A flash memory controller integrated circuit to receive memory access requests from a host, the flash memory controller integrated circuit comprising:
- at least one host interface to receive the memory access requests from the host and to exchange data with the host;
at least one memory interface to program the data into the flash memory dies, and to read the data therefrom;
circuitry to map, for each memory access request, a logical base address conveyed by the memory access request to a variable number of physical locations in respective ones of the flash memory dies, depending on logical base address, such thata first logical base address is mapped to a first number of the physical locations,a second logical base address is mapped to a second number of the physical locations,wherein the first number and the second number are different, and are each one or more; and
circuitry to control data programming and read operations in the flash memory dies via the memory interface in response to the memory access requests, according to the mapped, variable number of physical locations;
wherein the physical locations are respective ones of a unit of flash memory cells, such that a variable data size is to be exchanged between the flash memory controller integrated circuit and the host in association with each memory access request, corresponding to the logical base address conveyed with the memory access request.
3 Assignments
0 Petitions
Accused Products
Abstract
This disclosure provides for improvements in managing multi-drive, multi-die or multi-plane NAND flash memory. In one embodiment, the host directly assigns physical addresses and performs logical-to-physical address translation in a manner that reduces or eliminates the need for a memory controller to handle these functions, and initiates functions such as wear leveling in a manner that avoids competition with host data accesses. A memory controller optionally educates the host on array composition, capabilities and addressing restrictions. Host software can therefore interleave write and read requests across dies in a manner unencumbered by memory controller address translation. For multi-plane designs, the host writes related data in a manner consistent with multi-plane device addressing limitations. The host is therefore able to “plan ahead” in a manner supporting host issuance of true multi-plane read commands.
-
Citations
23 Claims
-
1. A flash memory controller integrated circuit to receive memory access requests from a host, the flash memory controller integrated circuit comprising:
-
at least one host interface to receive the memory access requests from the host and to exchange data with the host; at least one memory interface to program the data into the flash memory dies, and to read the data therefrom; circuitry to map, for each memory access request, a logical base address conveyed by the memory access request to a variable number of physical locations in respective ones of the flash memory dies, depending on logical base address, such that a first logical base address is mapped to a first number of the physical locations, a second logical base address is mapped to a second number of the physical locations, wherein the first number and the second number are different, and are each one or more; and circuitry to control data programming and read operations in the flash memory dies via the memory interface in response to the memory access requests, according to the mapped, variable number of physical locations; wherein the physical locations are respective ones of a unit of flash memory cells, such that a variable data size is to be exchanged between the flash memory controller integrated circuit and the host in association with each memory access request, corresponding to the logical base address conveyed with the memory access request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A memory device, comprising:
-
memory dies; and a flash memory controller integrated circuit to receive memory access requests from a host, wherein the flash memory controller integrated circuit further comprises at least one host interface to receive the memory access requests from the host and to exchange data with the host, at least one memory interface to program the data into the flash memory dies, and to read the data therefrom, circuitry to map, for each memory access request, a logical base address conveyed by the memory access request to a variable number of physical locations in respective ones of the flash memory dies, depending on logical base address, such that a first logical base address is mapped to a first number of the physical locations, a second logical base address is mapped to a second number of the physical locations, wherein the first number and the second number are different, and are each one or more, and circuitry to control data programming and read operations in the flash memory dies via the memory interface in response to the memory access requests, according to the mapped, variable number of physical locations; wherein the physical locations are respective ones of a unit of flash memory cells, such that a variable data size is to be exchanged between the flash memory controller integrated circuit and the host in association with each memory access request, corresponding to the logical base address conveyed with the memory access request. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method of operating flash memory, wherein the flash memory comprises flash memory dies, and wherein the method comprises causing a flash memory controller integrated circuit to:
-
receive memory access requests from a host via at least one host interface, and exchange data with the host via the at least one host interface; map, for each memory access request, a logical base address conveyed by the memory access request to a variable number of physical locations in respective ones of the flash memory dies, depending on logical base address, such that a first logical base address is mapped to a first number of the physical locations, a second logical base address is mapped to a second number of the physical locations, wherein the first number and the second number are different, and are each one or more; and control data programming and read operations in the flash memory dies via the memory interface in response to the memory access requests, according to the mapped, variable number of physical locations; wherein the physical locations are respective ones of a unit of flash memory cells, such that a variable data size is to be exchanged between the flash memory controller integrated circuit and the host in association with each memory access request, corresponding to the logical base address conveyed with the memory access request. - View Dependent Claims (19, 20, 21, 22, 23)
-
Specification