IP Library Granted Patent US 9,626,287
Granted Patent B2
US 9,626,287 · App. 13/783,971 · Granted Apr 18, 2017

Solid state memory formatting

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,626,287
App. No.
13/783,971
Granted
Apr 18, 2017
Kind
B2
Abstract

The present disclosure includes methods and devices for solid state drive formatting. One device embodiment includes control circuitry coupled to a number of memory arrays, wherein each memory array has multiple physical blocks of memory cells. The memory arrays are formatted by the control circuitry that is configured to write system data to the number of memory arrays, where the system data ends at a physical block boundary; and write user data to the number of memory arrays, where the user data starts at a physical block boundary.

Claims (37)

1. A method for formatting a number of memory arrays in a memory system, the method comprising:

indicating physical parameters associated with the number of memory arrays;

allocating a number of memory cells in the number of memory arrays as a storing system data;

allocating a number of memory cells in the number of memory arrays as a storing user data;

writing system data such that a first file allocation table starts at beginning of a first physical block of the number of memory cells in the number of memory arrays by including a first number of memory cells that are not used to store data after reserved data, wherein the first physical block includes memory cells that are erased together as a unit;

writing system data such that a second allocation table starts at beginning of a second physical block of the number of memory cells in the number of memory arrays by including a second number of memory cells that are not used to store data after the first file allocation table data; and

writing user data such that the user data starts at a beginning of a third physical block of the number of memory cells in the number of memory arrays by including a third number of memory cells that are not used to store data in the number of memory cells allocated for storing system data, wherein the third number of memory cells are between the second file allocation table and the user data.

2. The method of claim 1 , wherein the system data includes a partition boot record, the reserved data, the first file allocation table, and the second file allocation table.

3. The method of claim 1 , including indicating the physical parameters associated with the number of memory arrays via an inquiry command.

4. The method of claim 1 , including indicating the physical parameters associated with the number of memory arrays by receiving the physical parameters from a memory in a memory controller.

5. The method of claim 1 , including calculating a modulus for the number of memory arrays based on the indicated physical parameters.

6. A memory controller, comprising:

control circuitry coupled to a number of memory arrays, wherein each of the number of memory arrays has multiple physical blocks of memory cells, wherein the control circuitry is configured to:

indicate physical parameters associated with the number of memory arrays;

allocate a number of memory cells in the number of memory arrays as a storing system data;

allocate a number of memory cells in the number of memory arrays as a storing user data; and

write system data such that a first file allocation table starts at beginning of a first physical block of the number of memory cells in the number of memory arrays by including a first number of memory cells that are not used to store data after reserved data, wherein the first physical block includes memory cells that are erased together as a unit;

write system data such that a second allocation table starts at beginning of a second physical block of the number of memory cells in the number of memory arrays by including a second number of memory cells that are not used to store data after the first file allocation table data; and

write user data such that the user data starts at a beginning of a third physical block of the number of memory cells in the number of memory arrays by including a third number of memory cells that are not used to store data in the number of memory cells allocated for storing system data, wherein the third number of memory cells are between the second file allocation table and the user data.

7. The memory controller of claim 6 , wherein the system data includes a partition boot record, the reserved data, the first file allocation table, and the second file allocation table.

8. The memory controller of claim 6 , wherein the control circuitry is configured to indicate the physical parameters associated with the number of memory arrays via an inquiry command.

9. The memory controller of claim 6 , wherein the control circuitry is configured to indicate the physical parameters associated with the number of memory arrays by receiving the physical parameters from a memory in the memory controller.

10. The memory controller of claim 6 , wherein the control circuitry is configured to calculate a modulus for the number of memory arrays based on the indicated physical parameters.

11. A solid state memory system, comprising:

a number of memory arrays, wherein each of the number of memory arrays include a number of memory cells forming a number of physical blocks, wherein each of the physical blocks is organized into a number of pages;

a memory controller, wherein the memory controller includes control circuitry coupled to the number of memory arrays;

a host device coupled to the memory controller and including a memory access device and memory, the memory access device configured to execute instructions stored on the memory to:

indicate physical parameters associated with the number of memory arrays;

allocate a first portion of the number of memory cells in the number of memory arrays as a storing system data;

allocate a second portion of the number of memory cells in the number of memory arrays as a storing user data; and

write system data such that a first file allocation table starts at beginning of a first physical block of the number of memory cells in the number of memory arrays by including a first number of memory cells that are not used to store data after reserved data, wherein the first physical block includes memory cells that are erased together as a unit;

write system data such that a second allocation table starts at beginning of a second physical block of the number of memory cells in the number of memory arrays by including a second number of memory cells that are not used to store data after the first file allocation table data; and

write user data such that the user data starts at a beginning of a third physical block of the number of memory cells in the number of memory arrays by including a third number of memory cells that are not used to store data in the number of memory cells allocated for storing system data, wherein the third number of memory cells are between the second file allocation table and the user data.

12. The solid state memory device of claim 11 , wherein the system data includes a partition boot record, the reserved data, the first file allocation table, and the second file allocation table.

13. The solid state memory device of claim 11 , wherein the physical parameters associated with the number of memory arrays are indicated via an inquiry command.

14. The solid state memory device of claim 11 , wherein the physical parameters associated with the number of memory arrays are indicated by receiving the physical parameters from a memory in the memory controller.

15. The solid state memory device of claim 11 , wherein a modulus for the number of memory arrays is calculated based on the indicated physical parameters.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050937/0001 →
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047243/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 8, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 043079/0001 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 038954/0001 →
SECURITY INTEREST Recorded May 12, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038669/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2013
From: ASNAASHARI, MEHDI; BENSON, WILLIAM E.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 029916/0004 →