IP Library Granted Patent US 7,627,712
Granted Patent B2
US 7,627,712 · App. 11/085,967 · Granted Dec 1, 2009

Method and system for managing multi-plane memory devices

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 7,627,712
App. No.
11/085,967
Granted
Dec 1, 2009
Kind
B2
Abstract

A computational system comprising a controller and a multi-plane solid state memory device accessible to the controller is disclosed. The controller is configured to provide access to a virtual block having a virtual block address that represents a first block from a first plane of the multi-plane solid state memory device and represents a second block from a second plane of the multi-plane solid state memory device.

Claims (23)

1. A computational system comprising:

a multi-plane solid state memory device having an architecture that includes a first plane and a second plane, each of the first plane and the second plane including a plurality of blocks, each block of the plurality of blocks including a plurality of pages; and

a controller coupled to the multi-plane solid state memory device and configured to communicate with a second computational system, the controller including:

block management software configured to communicate with the second computational system using a virtual block address; and

a device driver configured to communicate with the multi-plane solid state memory device and configured to provide the virtual block address to the block management software to enable the block management software to communicate with the second computational system without knowledge of the architecture of the multi-plane solid state memory device, wherein the virtual block address represents two or more blocks including a first block from the plurality of blocks included in the first plane and a second block from the plurality of blocks included in the second plane;

wherein the controller is configured to write a first virtually addressed page to a first page of the first plane and to write a second virtually addressed page to a second page of the second plane, wherein the second virtually addressed page is located sequentially next to the first virtually addressed page, and wherein writing the first virtually addressed page and writing the second virtually addressed page are performed substantially simultaneously.

2. The computational system of claim 1 , wherein the first page of the first plane and the second page of the second plane have the same within plane address.

3. The computational system of claim 1 , wherein the controller is configured to read the first virtually addressed page from the first page of the first plane and to read the second virtually addressed page from the second page of the second plane.

4. The computational system of claim 3 , wherein the first page and the second page are physical pages having the same within plane address.

5. The computational system of claim 3 , wherein the first page of the first plane and the second page of the second plane are read concurrently.

6. The computational system of claim 1 , wherein the virtual block address represents a virtual block that has a size equal to a sum of a size of the first block and a size of the second block.

7. The computational system of claim 1 , wherein the virtual block address represents a virtual block that includes a number of virtual pages at least equal to a sum of a number of pages in the first block and a number of pages in the second block.

8. The computational system of claim 1 , wherein the virtual block address further represents a third block of a third plane included in the architecture of the multi-plane solid state memory device.

9. The computational system of claim 1 , wherein the controller is configured to erase a virtual block represented by the virtual block address by directing the multi-plane solid state memory device to erase the first block and the second block.

10. The computational system of claim 9 , wherein the multi-plane solid state memory device is configured to erase the first block and the second block substantially simultaneously.

11. A method comprising:

providing a virtual block address representing a virtual block to block management software of a controller coupled to a multi-plane solid state memory device having a particular architecture that includes a first plane and a second plane, each of the first plane and the second plane including a plurality of blocks, each block of the plurality of blocks including a plurality of pages, wherein the block management software is configured to communicate with a system using the virtual block address without knowledge of the particular architecture of the multi-plane solid state memory device, and wherein the virtual block address represents two or more blocks including a first block from the plurality of blocks included in the first plane and a second block from the plurality of blocks included in the second plane;

communicating with the system via the block management software using the virtual block address;

receiving a request to access the virtual block from the system;

sending the virtual block address representing the virtual block and a plurality of virtual page locations to a device driver coupled to the multi-plane solid state memory device;

writing a first virtual page to a first physical page located at a particular address within the first plane; and

writing a second virtual page to a second physical page located at the particular address within the second plane, wherein the first virtual page and the second virtual page are sequential, and wherein the writing of the second virtual page is performed substantially simultaneously to the writing of the first virtual page.

12. The method of claim 11 , further comprising receiving a second request that includes a request to erase the virtual block and wherein the method further comprises concurrently erasing the first block of the plurality of blocks included in the first plane and erasing the second block of the plurality of blocks included in the second plane.

Assignments (21)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CHANGE OF NAME Recorded Aug 31, 2017
From: SIGMATEL, INC.
To: SIGMATEL, LLC
Reel/Frame 043735/0306 →
MERGER Recorded Jul 26, 2017
From: SIGMATEL, LLC
To: NXP USA, INC.
Reel/Frame 043328/0351 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 037354 FRAME: 0773. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT RELEASE. Recorded Aug 15, 2016
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: SIGMATEL, LLC
Reel/Frame 039723/0777 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: SIGMATEL, INC.
Reel/Frame 037354/0773 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: SIGMATEL, INC.
Reel/Frame 037354/0734 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: SIGMATEL, INC.
Reel/Frame 037355/0838 →
SECURITY AGREEMENT Recorded Nov 12, 2013
From: SIGMATEL, LLC
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031626/0218 →
SECURITY AGREEMENT Recorded Jun 17, 2013
From: SIGMATEL, LLC
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030628/0636 →
SECURITY AGREEMENT Recorded May 10, 2010
From: SIGMATEL, LLC
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 024358/0439 →
SECURITY AGREEMENT Recorded Mar 16, 2010
From: SIGMATEL, LLC
To: CITIBANK, N.A.
Reel/Frame 024079/0406 →
SECURITY AGREEMENT Recorded Jul 9, 2008
From: SIGMATEL, INC.
To: CITIBANK, N.A.
Reel/Frame 021212/0372 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2005
From: SANDERS, RICHARD; ZEEVI, JOSEF
To: SIGMATEL, INC.
Reel/Frame 016406/0575 →