The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTIONResponse to Amendment
This office action has been issued in response to the response filed 09/05/25. Claims 21-24, 27-32, 34-40 are pending in this application. Applicant's arguments have been carefully considered, but are not persuasive in view of the “response to arguments” section below. The examiner appreciates Applicant's effort to distinguish over the cited prior art by presenting arguments/amendments in an attempt to distinguish or clarify the claimed invention, however, upon further consideration and/or search, the claims remain unpatentable over the cited prior art for the reasons articulated in the “response to arguments” section below. All claims pending in the instant application remain rejected and clarification and/or elaboration regarding why the claims are not in condition for allowance will hereafter be provided in order to efficiently further prosecution. Accordingly this action is made FINAL.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103(a) are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 21-24, 27-32, 34-40 are rejected under 35 U.S.C. 103 as being unpatentable over Muchherla et al. (US PGPub # 20180285258) in view of BAHIRAT (US PGPUB # 20190171564) further in view of Natarajan et al. (US PGPUB # 20190267080).
With respect to independent claim 21, 30, 37 Muchherla/BAHIRAT/Natarajan discloses: An apparatus, comprising:
a memory sub-system controller [memory management component working as part of controller – Muchherla fig 3] configured to:
determine a logical saturation percentage of a memory device [“logical saturation” is defined in the specification broadly as any indication of a quantity of used memory space (see p15 of the spec); host data is written in SLC mode until the drive reaches a (determined) threshold level/percentage of saturation – Muchherla 0049] [The logical saturation (value/percentage) for a particular stream can be calculated, at any moment of time, as the total amount of valid data within the bands that are currently assigned to the stream divided by the combined capacity of these same bands – BAHIRAT 0026; a stream's logical saturation value is a measurement of how much of the stream's assigned storage resources of the mass storage device contains valid data – BAHIRAT abstract ];
compare the determined logical saturation percentage with a logical saturation threshold percentage of the memory device [The logical saturation for a particular stream can be calculated, at any moment of time, as the total amount of valid data within the bands that are currently assigned to the stream divided by the combined capacity of these same bands – BAHIRAT 0026; the logical saturation for a stream can be viewed as the amount of stored valid data of the stream normalized by the combination of the valid data, invalid data and free space in the bands assigned to the stream. In essence, the logical saturation is a type of validity rate of the physical storage capacity that has been assigned to the stream – BAHIRAT 0027; a stream's logical saturation value is a measurement of how much of the stream's assigned storage resources of the mass storage device contains valid data - BAHIRAT abstract; controller to repeatedly select for garbage collection whichever of the multiple streams has a lowest logical saturation value as compared to the other streams - BAHIRAT claim 1];
in response to the determined logical saturation percentage being less than or equal to the logical saturation threshold percentage [With the logical saturation being calculated for each stream 301, an inquiry 302 is made as to the amount of free space that exists in the SSD. If a sufficient amount of free space exists in the SSD, no streams are targeted for garbage collection. By contrast, if the amount of free space in the SSD falls beneath some first lower threshold (low water mark), the stream having the lowest logical saturation is chosen for garbage collection 303 – BAHIRAT 0032] and a quantity of free blocks being less than a summation of a first threshold quantity of single level cells (SLC) blocks and a second threshold quantity of non-SLC blocks [Muchherla/BAHIRAT does not explicitly disclose in response to the determined logical saturation percentage being less than or equal to the logical saturation threshold percentage and a quantity of free blocks being less than a summation of a first threshold quantity of single level cells (SLC) blocks and a second threshold quantity of non-SLC blocks cause performance of a garbage collection operation on the memory device. Nevertheless, in the same field of endeavor Natarajan teaches determining a programmable eviction ratio associated with a storage device and converting a portion of a single-level cell region in the storage device into a multi-level cell region in accordance with a programmable eviction ratio (Natarajan abstract). The quantity of a summation of free SLC and non-SLC blocks is expressed as a “% of drive full” or “percent capacity filled” where an eviction ratio, idle & runtime, is determined as a function of the percent of the SSD’s capacity that is filled (Natarajan fig 2-3). As the SSD drive is filled (logically saturated) and the quantity of a summation of free SLC and non-SLC blocks becomes smaller, more and more static and dynamic SLC blocks are converted to MLC (non-SLC) blocks (Natarajan fig 1 & 4). Prioritization of the static SLC region over the dynamic SLC region may enhance performance, particularly if the only opportunity to evict data from the static SLC region is during the idle state – Natarajan 0023. The combination of Muchherla/BAHIRAT/Natarajan discloses in response to the determined logical saturation percentage being less than or equal to the logical saturation threshold percentage and a quantity of free blocks being less than a summation of a first threshold quantity of single level cells (SLC) blocks and a second threshold quantity of non-SLC blocks cause performance of a garbage collection operation on the memory device [Natarajan fig 1-4 & paragraph 0019, 0023; & BAHIRAT 0032]. It would have been obvious to one having ordinary skill in the art before the effective filing date of the invention to in response to the determined logical saturation percentage being less than or equal to the logical saturation threshold percentage and a quantity of free blocks being less than a summation of a first threshold quantity of single level cells (SLC) blocks and a second threshold quantity of non-SLC blocks cause performance of a garbage collection operation on the memory device in the invention of Muchherla/BAHIRAT as taught by Natarajan because it would be advantageous for enabling a memory to more readily meet quality of service (QOS) constraints such as, for example, consistent/predictable write bandwidth, minimum storage capacity, and so forth, and providing greater flexibility and/or scalability – Natarajan 0019], cause performance of a garbage collection operation on the memory device [With the logical saturation being calculated for each stream 301, an inquiry 302 is made as to the amount of free space that exists in the SSD. If a sufficient amount of free space exists in the SSD, no streams are targeted for garbage collection. By contrast, if the amount of free space in the SSD falls beneath some first lower threshold (low water mark), the stream having the lowest logical saturation is chosen for garbage collection 303 – BAHIRAT 0032]; and
in response to the determined logical saturation percentage being greater than the logical saturation threshold percentage; and the quantity of free blocks being less than a portion of a summation of the first threshold quantity of SLC blocks and the second threshold quantity of non-SLC blocks, cause performance of a modified garbage collection operation on the memory device [Muchherla 0049 teaches “host data is written in SLC mode until the drive reaches a threshold level of saturation at which point folding occurs and/or data is written in XLC mode (e.g., TLC mode)” in view of BAHIRAT 0032 teaching “, if the amount of free space in the SSD falls beneath some first lower threshold (low water mark), the stream having the lowest logical saturation is chosen for garbage collection … a specific number of the chosen stream's bands are reclaimed (e.g., with more bands being reclaimed the further the free space is beneath the low water mark) (reads on modified garbage collection) by the garbage collection process 303. Then, a second inquiry is made 304 to see if the free space in the SSD has risen above some second higher threshold (high water mark). If so, the SSD controller returns to looping through inquiry 302. If not, the stream having the lowest logical saturation is chosen for garbage collection (further reads on modified garbage collection), its storage space is reclaimed 303, and the process repeats until the free space grows above the high water mark” in view of Natarajan abstract, 0019, 0023, fig 1-4 teaching a summation of SLC block and non-SLC blocks as a representation of free blocks/space] [logical saturation for each stream can be readily determined in real time by the controller as a relatively simple calculation – BAHIRAT 0031 in view of Natarajan fig 1-4 & paragraph 0019, 0023, teaching a summation of SLC block and non-SLC blocks as a representation of free blocks/space; With the logical saturation being calculated for each stream 301, an inquiry 302 is made as to the amount of free space that exists in the SSD. If a sufficient amount of free space exists in the SSD, no streams are targeted for garbage collection. By contrast, if the amount of free space in the SSD falls beneath some first lower threshold (low water mark), the stream having the lowest logical saturation is chosen for garbage collection … a specific number of the chosen stream's bands are reclaimed (e.g., with more bands being reclaimed the further the free space is beneath the low water mark) (reads on modified garbage collection) by the garbage collection process 303. Then, a second inquiry is made 304 to see if the free space in the SSD has risen above some second higher threshold (high water mark). If so, the SSD controller returns to looping through inquiry 302. If not, the stream having the lowest logical saturation is chosen for garbage collection (further reads on modified garbage collection), its storage space is reclaimed 303, and the process repeats until the free space grows above the high water mark - BAHIRAT 0032 in view of Natarajan fig 1-4 & paragraph 0019, 0023, teaching a summation of SLC block and non-SLC blocks as a representation of free blocks/space; Notably, depending on the state of the logical saturation values at the time the selection 303 is made, the stream that is chosen for garbage collection 303 can be the same stream or a different stream than the stream that was chosen by the immediately preceding stream selection - BAHIRAT 0033 in view of Natarajan fig 1-4 & paragraph 0019, 0023, teaching a summation of SLC block and non-SLC blocks as a representation of free blocks/space].
Muchherla does not explicitly disclose calculating a logical saturation percentage/value and comparing that value to inform garbage collection operations.
nevertheless in the same field of endeavor BAHIRAT teaches selecting memory device streams for garbage collection based on calculated logical saturation values - BAHIRAT title, abstract.
It would have been obvious to one having ordinary skill in the art before the effective filing date of the invention to calculate a logical saturation percentage/value and compare that value to inform garbage collection operations in the invention of Muchherla as taught by BAHIRAT because it would have been advantageous for improving a selection scheme for optimized garbage collection operations (BAHIRAT 0023, 0043).
Muchherla/BAHIRAT does not explicitly disclose in response to the determined logical saturation percentage being less than or equal to the logical saturation threshold percentage and a quantity of free blocks being less than a summation of a first threshold quantity of single level cells (SLC) blocks and a second threshold quantity of non-SLC blocks cause performance of a garbage collection operation on the memory device.
Nevertheless, in the same field of endeavor Natarajan teaches determining a programmable eviction ratio associated with a storage device and converting a portion of a single-level cell region in the storage device into a multi-level cell region in accordance with a programmable eviction ratio (Natarajan abstract). The quantity of a summation of free SLC and non-SLC blocks is expressed as a “% of drive full” or “percent capacity filled” where an eviction ratio, idle & runtime, is determined as a function of the percent of the SSD’s capacity that is filled (Natarajan fig 2-3). As the SSD drive is filled (logically saturated) and the quantity of a summation of free SLC and non-SLC blocks becomes smaller, more and more static and dynamic SLC blocks are converted to MLC (non-SLC) blocks (Natarajan fig 1 & 4). Prioritization of the static SLC region over the dynamic SLC region may enhance performance, particularly if the only opportunity to evict data from the static SLC region is during the idle state – Natarajan 0023. The combination of Muchherla/BAHIRAT/Natarajan discloses in response to the determined logical saturation percentage being less than or equal to the logical saturation threshold percentage and a quantity of free blocks being less than a summation of a first threshold quantity of single level cells (SLC) blocks and a second threshold quantity of non-SLC blocks cause performance of a garbage collection operation on the memory device [Natarajan fig 1-4 & paragraph 0019, 0023; & BAHIRAT 0032].
It would have been obvious to one having ordinary skill in the art before the effective filing date of the invention to in response to the determined logical saturation percentage being less than or equal to the logical saturation threshold percentage and a quantity of free blocks being less than a summation of a first threshold quantity of single level cells (SLC) blocks and a second threshold quantity of non-SLC blocks cause performance of a garbage collection operation on the memory device in the invention of Muchherla/BAHIRAT as taught by Natarajan because it would be advantageous for enabling a memory to more readily meet quality of service (QOS) constraints such as, for example, consistent/predictable write bandwidth, minimum storage capacity, and so forth, and providing greater flexibility and/or scalability – Natarajan 0019.
With respect to dependent claim 22 Muchherla/BAHIRAT/Natarajan discloses wherein the memory sub-system controller is to further cause the performance of the garbage collection operation in response to a quantity of free blocks being less than a threshold quantity of free blocks [Muchherla 0018, 0046] [a specific number of the chosen stream's bands are reclaimed (e.g., with more bands being reclaimed the further the free space is beneath the low water mark) by the garbage collection process 303. Then, a second inquiry is made 304 to see if the free space in the SSD has risen above some second higher threshold (high water mark). If so, the SSD controller returns to looping through inquiry 302. If not, the stream having the lowest logical saturation is chosen for garbage collection, its storage space is reclaimed 303, and the process repeats until the free space grows above the high water mark - BAHIRAT 0032].
With respect to dependent claim 23 Muchherla/BAHIRAT/Natarajan discloses wherein the threshold quantity of free blocks is less than a summation of a determined threshold quantity of blocks and an additional threshold quantity of blocks by a particular portion when the determined logical saturation percentage is greater than the logical saturation threshold percentage [different thresholds for free blocks in performing background vs foreground GC – Muchherla 0018, 0046] [a specific number of the chosen stream's bands are reclaimed (e.g., with more bands being reclaimed the further the free space is beneath the low water mark) by the garbage collection process 303. Then, a second inquiry is made 304 to see if the free space in the SSD has risen above some second higher threshold (high water mark). If so, the SSD controller returns to looping through inquiry 302. If not, the stream having the lowest logical saturation is chosen for garbage collection, its storage space is reclaimed 303, and the process repeats until the free space grows above the high water mark - BAHIRAT 0032].
With respect to dependent claim 24 Muchherla/BAHIRAT/Natarajan discloses wherein the threshold quantity of free blocks is based on the determined logical saturation percentage being less than the logical saturation threshold percentage [a specific number of the chosen stream's bands are reclaimed (e.g., with more bands being reclaimed the further the free space is beneath the low water mark) by the garbage collection process 303. Then, a second inquiry is made 304 to see if the free space in the SSD has risen above some second higher threshold (high water mark). If so, the SSD controller returns to looping through inquiry 302. If not, the stream having the lowest logical saturation is chosen for garbage collection, its storage space is reclaimed 303, and the process repeats until the free space grows above the high water mark - BAHIRAT 0032].
With respect to dependent claim 27 Muchherla/BAHIRAT/Natarajan discloses wherein the portion is a function of a difference between the determined logical saturation percentage and the logical saturation threshold percentage [Muchherla 0018, 0046, 0049] [BAHIRAT 0032 & fig 3] [eviction ratio is variable/programmable - Natarajan abstract, 0019, 0023, fig 1-4].
With respect to dependent claim 28 Muchherla/BAHIRAT/Natarajan discloses wherein a threshold quantity of free blocks is lower in response to the determined logical saturation percentage being above the logical saturation threshold percentage than if the determined logical saturation percentage was below the logical saturation threshold percentage [Muchherla 0018] [as saturation level gets higher, free space is lower and thus free blocks are lower in response to a higher saturation level - BAHIRAT 0032].
With respect to dependent claim 29 Muchherla/BAHIRAT/Natarajan discloses wherein the memory sub-system controller is further configured to correspondingly decrease the threshold quantity of free blocks an amount in relation to the determined logical saturation percentage increasing an amount above the logical saturation threshold percentage [Muchherla 0018] [as saturation level gets higher, free space is lower and thus free blocks are lower in response to a higher saturation level - BAHIRAT 0032].
With respect to dependent claim 31 Muchherla/BAHIRAT/Natarajan discloses performing the garbage collection operation in response to a quantity of free blocks being below an a threshold quantity of free blocks [different thresholds for free blocks in performing background vs foreground GC – Muchherla 0018, 0046] [a specific number of the chosen stream's bands are reclaimed (e.g., with more bands being reclaimed the further the free space is beneath the low water mark) by the garbage collection process 303. Then, a second inquiry is made 304 to see if the free space in the SSD has risen above some second higher threshold (high water mark). If so, the SSD controller returns to looping through inquiry 302. If not, the stream having the lowest logical saturation is chosen for garbage collection, its storage space is reclaimed 303, and the process repeats until the free space grows above the high water mark - BAHIRAT 0032].
With respect to dependent claim 32 Muchherla/BAHIRAT/Natarajan discloses wherein the threshold quantity of free blocks is associated with a threshold quantity of blocks and the determined logical saturation percentage being above the logical saturation threshold percentage [different thresholds for free blocks in performing background vs foreground GC – Muchherla 0018, 0046] [a specific number of the chosen stream's bands are reclaimed (e.g., with more bands being reclaimed the further the free space is beneath the low water mark) by the garbage collection process 303. Then, a second inquiry is made 304 to see if the free space in the SSD has risen above some second higher threshold (high water mark). If so, the SSD controller returns to looping through inquiry 302. If not, the stream having the lowest logical saturation is chosen for garbage collection, its storage space is reclaimed 303, and the process repeats until the free space grows above the high water mark - BAHIRAT 0032].
With respect to dependent claim 34 Muchherla/BAHIRAT/Natarajan discloses wherein the threshold logical saturation percentage is ninety (90) percent [90% saturation - Natarajan fig 3, 5-6].
With respect to dependent claim 35 Muchherla/BAHIRAT/Natarajan discloses wherein the threshold quantity of free blocks includes a summation of the first threshold quantity of blocks and the second threshold quantity of blocks [different thresholds for free blocks in performing background vs foreground GC – Muchherla 0018, 0046] [eviction ratio is variable/programmable - Natarajan abstract, 0019].
With respect to dependent claim 36 Muchherla/BAHIRAT/Natarajan discloses wherein the memory mode is one of a single-level cell (SLC) memory mode or a tri-level cell (TLC) memory mode [Muchherla 0019, 0049-0050].
With respect to dependent claim 38 Muchherla/BAHIRAT/Natarajan discloses wherein a portion of the plurality of memory blocks are single-level cell (SLC) memory mode blocks [Muchherla 0019, 0049-0050].
With respect to dependent claim 39 Muchherla/BAHIRAT/Natarajan discloses wherein at least a portion of the plurality of memory blocks are tri-level cell (TLC) memory mode blocks [Muchherla 0019, 0049-0050].
With respect to dependent claim 40 Muchherla/BAHIRAT/Natarajan discloses wherein the threshold quantity of blocks is, in response to the determined logical saturation percentage being below the logical saturation threshold percentage, a summation of a first portion of the threshold quantity of blocks and a second portion of the threshold quantity of blocks [different thresholds for free blocks in performing background vs foreground GC – Muchherla 0018, 0046] [eviction ratio is variable/programmable - Natarajan abstract, 0019].
Response to Arguments
Applicant's arguments have been fully considered but are not persuasive in view of the prior art. All claims pending in the instant application remain rejected. Please note that any rejections/objection not maintained from the previous Office Action have been rectified either by applicant's amendment and/or persuasive argument(s).
Regarding applicant’s arguments on page 8 that the amended claims are not taught by the cited art, more specifically that “From Applicant's review, Bahirat does not cure the deficiencies of Muchherla. For instance, Bahirat appears to teach tracking a logical saturation value for each of multiple streams having read and write commands directed to a mass storage device, wherein, a stream's logical saturation value is a measurement of how much of the stream's assigned storage resources of the mass storage device contains valid data, and repeatedly selecting for garbage collection whichever of the multiple streams has a lowest logical saturation value as compared to the other streams (Abstract). However the cited references do not teach the amended limitation ” [The examiner respectfully submits that a broadest reasonable interpretation of the limitation in question, in layman’s terms, requires that a modified garbage collection operation is performed when a logical saturation percentage is greater than a threshold and a quantity of free blocks is less than a portion of a sum of a quantity of SLC block and non-SLC blocks. These quantities are not defined and can be any number, such that the sum of these numbers can be any number, such that a portion of the sum can be any number so long as that number corresponds to any number of free blocks of SLC and non-SLC memory. The cited art teaches a broadest reasonable interpretation of this limitation to the extent that the art teaches:
Muchherla 0049 teaches “host data is written in SLC mode until the drive reaches a threshold level of saturation at which point folding occurs and/or data is written in XLC mode (e.g., TLC mode)” – in other words, at least two quantities of SLC and non-SLC blocks corresponding to a quantity of free space/blocks. Muchherla also teaches changing selection/target of garbage collection operation based on free-space pressure, reading on a modified garbage collection operation
Natarajan fig 1-4 & paragraph 0019, 0023, teaches a summation of SLC block and non-SLC blocks as a representation of free blocks/space
BAHIRAT 0032 teaches “, if the amount of free space in the SSD falls beneath some first lower threshold (low water mark), the stream having the lowest logical saturation is chosen for garbage collection … a specific number of the chosen stream's bands are reclaimed (e.g., with more bands being reclaimed the further the free space is beneath the low water mark) (reads on modified garbage collection) by the garbage collection process 303. Then, a second inquiry is made 304 to see if the free space in the SSD has risen above some second higher threshold (high water mark). If so, the SSD controller returns to looping through inquiry 302. If not, the stream having the lowest logical saturation is chosen for garbage collection (further reads on modified garbage collection), its storage space is reclaimed 303, and the process repeats until the free space grows above the high water mark” in view of Natarajan abstract, 0019, 0023, fig 1-4] [logical saturation for each stream can be readily determined in real time by the controller as a relatively simple calculation – BAHIRAT 0031 in view of Natarajan fig 1-4 & paragraph 0019, 0023, teaching a summation of SLC block and non-SLC blocks as a representation of free blocks/space; With the logical saturation being calculated for each stream 301, an inquiry 302 is made as to the amount of free space that exists in the SSD. If a sufficient amount of free space exists in the SSD, no streams are targeted for garbage collection. By contrast, if the amount of free space in the SSD falls beneath some first lower threshold (low water mark), the stream having the lowest logical saturation is chosen for garbage collection … a specific number of the chosen stream's bands are reclaimed (e.g., with more bands being reclaimed the further the free space is beneath the low water mark) (reads on modified garbage collection) by the garbage collection process 303. Then, a second inquiry is made 304 to see if the free space in the SSD has risen above some second higher threshold (high water mark). If so, the SSD controller returns to looping through inquiry 302. If not, the stream having the lowest logical saturation is chosen for garbage collection (further reads on modified garbage collection), its storage space is reclaimed 303, and the process repeats until the free space grows above the high water mark - BAHIRAT 0032 in view of Natarajan fig 1-4 & paragraph 0019, 0023, teaching a summation of SLC block and non-SLC blocks as a representation of free blocks/space; Notably, depending on the state of the logical saturation values at the time the selection 303 is made, the stream that is chosen for garbage collection 303 can be the same stream or a different stream than the stream that was chosen by the immediately preceding stream selection - BAHIRAT 0033 in view of Natarajan fig 1-4 & paragraph 0019, 0023, teaching a summation of SLC block and non-SLC blocks as a representation of free blocks/space].
Regarding applicant’s arguments on page 9 that the amended claims are not taught by the cited art, more specifically that “From Applicant's review, Natarajan does not cure the deficiencies of Muchherla and Bahirat. For instance, Natarajan appears to teach determining a programmable eviction ratio associated with a storage device and convert a portion of a single-level cell region in the storage device into a multi-level cell region in accordance with the programmable eviction ratio (Abstract)” [The examiner respectfully submits that as this argument is substantially similar to the one above, it is unpersuasive on similarity/dependency merits according to the examiner’s rationale above ].
Any remaining arguments are understood to be predicated on the previous arguments being persuasive and thus are unpersuasive at least on dependency merits.
All remarks are understood to have been addressed herein and by the amended grounds of rejection. If any issues remain which may be clarified by the examiner, the applicant is invited to contact the examiner to set up a telephone interview.
When responding to the office action, any new claims and/or limitations should be accompanied by a reference as to where the new claims and/or limitations are supported in the original disclosure.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MARWAN AYASH whose telephone number is (571)270-1179. The examiner can normally be reached 9a-730p M-R.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Rocio del Mar Perez-Velez can be reached on 571-270-5935. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Marwan Ayash/ - Examiner - Art Unit 2133
/ROCIO DEL MAR PEREZ-VELEZ/Supervisory Patent Examiner, Art Unit 2133